Soft exosuit for assistance with human motion

ABSTRACT

Systems and methods for providing assistance with human motion, including hip and ankle motion, are disclosed. Sensor feedback is used to determine an appropriate profile for actuating a wearable robotic system to deliver desired joint motion assistance. Variations in user kinetics and kinematics, as well as construction, materials, and fit of the wearable robotic system, are considered in order to provide assistance tailored to the user and current activity.

CROSS-REFERENCE TO RELATED APPLICATIONS

The application is a continuation of U.S. application Ser. No.15/511,894, filed Mar. 16, 2017, which is a U.S. National phaseapplication of PCT International Patent Application No. PCT/2015/051107,filed on Sep. 19, 2015, which claims priority to U.S. Provisional PatentApplication No. 62/052,562, filed Sep. 19, 2014; U.S. Provisional PatentApplication No. 62/107,729, filed Jan. 26, 2015; U.S. Provisional PatentApplication No. 62/173,887, filed Jun. 10, 2015; U.S. Provisional PatentApplication No. 62/183,149, filed Jun. 22, 2015; and U.S. ProvisionalPatent Application No. 62/193,793, filed Jul. 17, 2015, and the entirelyof all these applications are hereby incorporated by reference.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with government support under W911NF-14-00051and W911QX-12-C-0084 awarded by the U.S. Department of Defense. Thegovernment has certain rights in the invention.

FIELD

The presently disclosed embodiments relate to motion assistance devices,and more particularly to soft exosuit systems and methods for providingassistance with human motion, including hip motion and ankle motion.

BACKGROUND

Over the last decade, a number of lower-extremity exoskeletons have beendeveloped to assist human gait in various conditions. Some devices havebeen designed to assist impaired or able-bodied people, while othershave been designed to make load carriage easier.

Conventionally, these devices have consisted of rigid exoskeletonstructures enabling high assistive torques to the wearer. However, rigidframes can restrict the natural movement of the wearer and may applyundesired forces when they are misaligned with the wearer's biologicaljoints. Moreover, rigid devices may have large inertias particularly ondistal areas, which can hinder the motion of the wearer and providechallenges from a control perspective.

Exosuits utilizing primarily soft, flexible or semi-flexible components(e.g., textiles) have been developed to address some of these issuescharacteristic of exoskeletons. The conformal, unobtrusive and compliantnature of many such exosuits has mitigated many of the above-identifiedissues associated with rigid exosuits, but in turn, raise new issues.Soft exosuits are typically not load-bearing like rigid exoskeletons,thus forces generated in the exosuit are ultimately transferred to andborne by the user's body. As such, comfort and safety considerations maylimit the amount of force that can be generated to assist motion.Additionally, as soft exosuits may be worn directly against a user'sskin or over clothing, comfort can be a key design consideration. Often,however, design considerations for comfort often conflict with those formaintaining efficient system stiffness for transferring loadstherethrough. In particular, many comfortable textiles are prone tostretching when placed under tension. Such stretching can causeeffectively bleed energy from the exosuit, making it necessary toprovide larger motors and consume higher amounts of power to produce thesame assistive force to the human body than if higher modulus materialswere used. Additionally, stretching can cause elements of the exosuit tobecome misaligned and/or displaced from their intended positions on thebody, potentially leading to discomfort, unnatural torqueing of joints,and increased power requirements. The inherently compliant and nonlinearmechanical structure of soft exosuits can also make it difficult toaccurately and reliably deliver a desired amount of force to variousportions of the user's body to assist with motion. Accordingly, there isa need for a lightweight, comfortable exosuit for assistive motionconfigured to maintain a desired position and alignment on the body, andprovide efficient load paths and transfer characteristics therethrough.

Apart from the mechanical challenges of actuating a soft exosuit,another is in delivering effective assistance given considerablevariability in joint kinematics and patterns of muscle activation.Existing approaches to controlling motion assistance estimate the onsetof assistance using historical data or predetermined constants, and thusfail to account for normal or unpredictable variations in the wearer'scurrent stride. In particular, many control systems utilize historicalor predetermined data from previous strides to estimate the onset of themotion to be assisted during a current stride. Other systems may beconfigured to apply power at predetermined, constant time offsets set tocorrespond with certain portions of an average person's gait cycle. Thismay be problematic in situations where the user's gait varies, which isoften the case in real-life activity. Accordingly, there is a need for acontrol system configured to adapt in real-time to a user's motion andthus provide assistive power with appropriate timing and magnitude.

Another challenge is delivering effective assistance given theconsiderable variability in wearer kinetics due to gender, age, height,body weight, and spatial-temporal factors such as locomotive speed.Existing control systems fail to account for these variations, insteadproviding a one-size-fits-all magnitude of assistance that is nottailored to the particular wearer of the exosuit. Accordingly, there isa need for a control system configured to adapt the magnitude ofassistance to the particular wearer of the exosuit and/orcharacteristics of the activity being performed.

SUMMARY

Systems and methods for providing assistance with human motion using anexosuit system are disclosed. An exosuit, in various embodiments, may beactuated to apply assistive forces to the human body to augment forcesgenerated by underlying musculature. Various sensors may be used tomonitor forces generated in the exosuit, as well as the motion of theuser's body, in order to determine a suitable profile for actuating theexosuit so as to deliver desired levels of assistance with appropriatetiming.

Variations in user kinetics and kinematics, as well as construction,materials, and fit of the wearable robotic system, are considered invarious embodiments in order to provide assistance tailored to the userand current activity. The exosuit, in various embodiments, may beactuated using an iterative approach that compares actual forces orintegral powers produced in the exosuit to those desired, thus ensuringappropriate actuation magnitude regardless of variations in fit and bodycharacteristics amongst users of the exosuit system. The magnitude ofassistance provided, in various embodiments, may be influenced byfactors that affect biological loads on the body, such as body weightand spatial-temporal factors like locomotive speed. Further, in variousembodiments, real-time detection of body motion and gait events mayutilized to tailor the timing of assistance to the actual motion of theuser at any given time, thereby accounting for normal or unpredictablevariations in a user's motion or gait.

Motion assistance, in various embodiments, may be provided to a user'ship joint to assist with locomotion. This may include, in variousembodiments, determining a desired peak force or integral power to begenerated by the exosuit system during a current gait cycle of the user,generating an actuation profile according to which the exosuit may beactuated to generate the desired peak force or integral power,monitoring real-time measurements of an angle of the hip joint to detectwhen the hip joint reaches a maximum flexion angle, and in response todetecting that the angle of the hip joint has reached the maximumflexion angle, actuating the wearable robotic system according to theactuation profile to assist with an extension motion of the hip joint ofthe user.

Motion assistance, in various embodiments, may be provided to a user'sankle joint to assist with locomotion. Assistance, in an embodiment, maybe provided during one or a combination of stance dorsiflexion andstance plantarflexion motion of the ankle joint. Appropriate timing maybe determined by monitoring in real-time sensor measurements to detect aheel strike and a subsequent change in ankle rotation directionindicative of the transition from stance dorsiflexion motion to stanceplantarflexion motion. In response to detecting the first change indirection of the measured rotational velocity of the ankle joint, theexosuit may be actuated to assist with a plantarflexion motion of theankle joint of the user. The exosuit system, in an embodiment, may beconfigured to independently control negative and positive powersdelivered to the ankle joint during dorsiflexion and plantarflexionmotions, respectively.

BRIEF DESCRIPTION OF THE DRAWINGS

The presently disclosed embodiments will be further explained withreference to the attached drawings. The drawings shown are notnecessarily to scale, with emphasis instead generally being placed uponillustrating the principles of the presently disclosed embodiments.

FIG. 1 depicts a representative embodiment of a soft exosuit;

FIG. 2 depicts a representative embodiment of a soft exosuit;

FIG. 3A depicts a front view of a representative embodiment of a softexosuit;

FIG. 3B depicts a rear view of a representative embodiment of a softexosuit;

FIG. 3C depicts a side view of a representative embodiment of a softexosuit;

FIG. 4A illustrates a front view of a representative embodiment of awaist anchor member;

FIG. 4B illustrates a rear view of a representative embodiment of awaist anchor member;

FIG. 4C illustrates a front view of an alternative embodiment of a waistanchor member;

FIG. 4D illustrates an embodiment of a waist anchor where connectionelements join the front of the waist anchor member;

FIG. 4E illustrates an embodiment of a waist anchor where connectionelements join the side of the waist anchor member;

FIG. 5 illustrates a representative embodiment of a thigh anchor;

FIG. 6A illustrates a front view of a representative embodiment of calfanchor;

FIG. 6B illustrates a back view of a representative embodiment of calfanchor;

FIG. 6C illustrates an embodiment of a calf anchor;

FIG. 6D illustrates a calf anchor comprising textiles that may beoriented with the fabric grain in specific directions;

FIG. 6E depicts a front view of a representative coupling element forconnecting a calf anchor with connection elements;

FIG. 6F depicts a rear view of a representative coupling element forconnecting calf anchor with connection elements;

FIG. 6G depicts a representative coupling element with Y-strap and twopins inserted through the loops,

FIG. 6H depicts a representative mechanism for coupling and actuationand connection elements with a calf anchor.

FIG. 7A illustrates an embodiment of a foot anchor member wherein theanchor member comprises a boot;

FIG. 7B depicts a representative stiffening component;

FIG. 7C shows a representative stiffening component installed on a boot;

FIG. 7D depicts an embodiment of a footwear stiffener;

FIG. 8A illustrate a perspective view of a representative embodiment ofa connection element;

FIG. 8B illustrate a perspective view of a representative embodiment ofa connection element;

FIG. 8C illustrate a perspective view of a representative embodiment ofa connection element;

FIG. 9A illustrates a front view of an embodiment of a base layer;

FIG. 9B illustrates a rear view of an embodiment of a base layer;

FIG. 9C illustrates a side view of an embodiment of a base layer;

FIG. 10 depicts a representative actuation system for generating tensileforces in a soft exosuit;

FIG. 11 illustrates a motor located distally from a portion of a softexosuit to which a cable is attached and extends therebetween;

FIG. 12A illustrates an embodiment of a soft exosuit comprising a waistanchor and a thigh anchor along the rear of the thigh;

FIG. 12B illustrates an embodiment of a soft exosuit comprising a waistanchor and a thigh anchor along the front of the thigh;

FIG. 12C illustrates an embodiment of a soft exosuit comprising a calfanchor and a foot anchor;

FIG. 12D illustrates an embodiment of a soft exosuit comprising a waistanchor, a foot anchor, and connection elements extending therebetween;

FIG. 12E illustrates an embodiment of a soft exosuit including twomodules with a first module and a second module;

FIG. 13 depicts a soft exosuit configured to distribute portions of aforce generated by an actuation system to various parts of a user'sbody;

FIG. 14A depicts a force sensor positioned at an interface between acable and a waist anchor;

FIG. 14B depicts a force sensor positioned at an interface betweenconnection elements and a cable;

FIG. 15 shows an exemplary embodiment of a control system;

FIG. 16A illustrates a representative force profile to be delivered to auser's body via a soft exosuit;

FIG. 16B illustrates a representative actuation profile for generating aforce profile;

FIG. 17A is a graph comparing locomotive speed verses peak magnitude ofphysiological power exerted on a hip;

FIG. 17B illustrates that multipliers associated with hip assistance mayincrease substantially linearly with a walking speed;

FIG. 17C illustrates some example adjusted peak forces that may beapplied to a hip joint as adjusted by the multipliers of FIG. 17B;

FIG. 18A is a graph comparing locomotive speed against peak magnitude ofphysiological power exerted on an ankle joint;

FIG. 18B illustrates that multipliers associated with ankle assistancemay increase substantially linearly with a walking speed;

FIG. 18C illustrates some example adjusted peak forces that may beapplied to an ankle joint as adjusted by the multipliers of FIG. 18B;

FIG. 19A depicts a hip range of motion in a sagittal plane;

FIG. 19B illustrates a validation of a walking speed estimation;

FIG. 20 is a schematic diagram of an embodiment of a hip controlarchitecture;

FIG. 21A depicts a typical gait cycle;

FIG. 21B depicts a gait cycle of a hamstring;

FIG. 21C depicts a gait cycle of a gluteus maximus;

FIG. 22A depicts an exemplary application of a force to assist with hipmotion;

FIG. 22B depicts an exemplary application of a force to assist withthigh motion;

FIG. 23A depicts a corresponding representative hip angle measurement;

FIG. 23B depicts a representative force profiles for assisting hip jointextension motion;

FIG. 23C depicts a representative actuation profile for assisting hipjoint extension motion;

FIG. 24 is a schematic diagram of an embodiment of a hip controlarchitecture that includes an obstacle avoidance detection unit;

FIG. 25A is a schematic diagram of a hip angle data monitored inreal-time for a hip motion associated with obstacle avoidance maneuvers;

FIG. 25B is a schematic diagram of a cable applying a force about a hip;

FIG. 25C is a schematic of a system command actuation of a correspondinghip assistance cable in a soft exosuit;

FIG. 26 is a schematic diagram of an embodiment of an ankle controlsystem;

FIG. 27 demonstrates an exosuit producing moments at an anklesimultaneously with an underlying muscle during 30-60% in a gait cycle;

FIG. 28A illustrates a pretension and an active force region of an anklejoint;

FIG. 28B illustrates a pretension and an active force region of an anklejoint;

FIG. 28C illustrates a pretension and an active force region of an anklejoint;

FIG. 29A illustrates relationships between an ankle joint motion and aresulting power;

FIG. 29B illustrates relationships between an ankle joint moment and aresulting power;

FIG. 29C illustrates relationships between an ankle joint velocity and aresulting power;

FIG. 29D illustrates relationships between a commanded cable positionand a resulting force; and

FIG. 29E illustrates relationships between a resulted ankle assistiveforce and an active force.

While the above-identified drawings set forth presently disclosedembodiments, other embodiments are also contemplated, as noted in thediscussion. This disclosure presents illustrative embodiments by way ofrepresentation and not limitation. Numerous other modifications andembodiments can be devised by those skilled in the art which fall withinthe scope and spirit of the principles of the presently disclosedembodiments.

DETAILED DESCRIPTION

Systems and methods for providing assistance with human motion using anexosuit system are disclosed. Embodiments of the present disclosuregenerally provide exosuit system 100 for assisting natural,muscle-driven motion via a soft exosuit in a manner suitable to reducethe effort required in performing the natural motion, to increase one'sendurance or to enable motions that would be otherwise be impossible forone.

Exosuit System 100

Embodiments of exosuit system 100 may provide a novel soft exosuitdesign configured with efficient load paths for directing anddistributing potentially high assistive forces to various portions anexosuit user's body, whilst maintaining comfort and minimizingobstruction of the user's natural movements. Exosuit system 100 maymonitor the natural motion of the user to detect in real-time the onsetof the motion to be assisted, as well as to detect or estimate how longthe motion may last, so as to provide assistance that adapts tokinematic variations in the user's activity. Exosuit system 100 mayfurther adapt to variations in the properties of the exosuit, how itfits the user, and other factors to reliably deliver a desired magnitudeof assistance. Still further, exosuit system 100 may adapt the level ofassistance to be provided to the user based on user body characteristic(e.g., build, weight), spatial-temporal factors (e.g., locomotivespeed), and user comfort preferences, amongst others.

FIG. 1 depicts a representative embodiment of exosuit system 100, whichmay generally include soft exosuit 200, actuation system 300, sensors400, and control system 500. Soft exosuit 200 may be worn by a user,actuation system 300 may move components of soft exosuit 200 to generatetensile forces therein. Control system 500 may utilize measurements fromsensors 400 to monitor the user's motion, as well as the forces beinggenerated in soft exosuit 200, so as to control the timing and magnitudeof assistance provided to the user.

Soft Exosuit 200

FIG. 2 depicts a representative embodiment of soft exosuit 200. Softexosuit 200 of exosuit system 100 may generally comprise one or moreanchor members 210. Anchor member 210, in various embodiments, maycomprise any wearable component capable of transferring loads generatedin soft exosuit 200 to the body of the user. Exemplary embodiments ofanchor member 210 may include, without limitation, a waist anchor 212, athigh anchor 214, a calf anchor 216, and or a foot anchor 218. Waistanchor member 212, in an embodiment, may be any component configured toprovide load support by securely strapping atop a user's hips, such as awaist belt. Thigh anchor member 214 and calf anchor member 216, invarious embodiments, may be any components configured to provide loadsupport by securely strapping about the exosuit user's thigh and calf,respectively, such as a thigh wrap or a calf wrap. Foot anchor member218, in an embodiment, may be any footwear or other component suitablefor being worn or otherwise coupled with the user's foot, such as aboot, that is configured to provide load support to an exosuit user'sfoot. Of course, soft exosuit 200 may include any number of suitabletypes of anchor members 210 and combinations thereof, and the presentdisclosure is not intended to be limited only to those exemplaryembodiments described herein.

Still referring to FIG. 2, soft exosuit 200 may further comprise one ormore connection elements 220. Connection elements 220, in variousembodiments, may comprise one or a substantially continuous series offlexible, elongated components arranged to connect components of softexosuit 200 to one another and to define a load path therebetween alongwhich tensile forces may be transferred. One or more of connectionelements 220, in an embodiment, may be substantially non-extensible soas to more efficiently transfer tensile forces throughout soft exosuit200. In an embodiment, soft exosuit 200 may include a connection element222 extending between and coupled to waist anchor 212 and thigh anchor214, as shown. Additionally or alternatively, in another embodiment,soft exosuit 200 may include a connection element 224 extending betweenwaist anchor 212 and a lower portion of the user's leg. In anembodiment, such a connection element 224 may be directly or indirectlycoupled with calf anchor 216 and/or foot anchor 228. Of course, softexosuit 200 may include any number of suitable types of connectionelements 220 and combinations thereof, and the present disclosure is notintended to be limited only to those exemplary embodiments describedherein.

FIG. 3A, FIG. 3B, and FIG. 3C depict additional perspectives (i.e.,front view, rear view and side view, respectively) of soft exosuit 200for the purpose of illustrating further characteristics of soft exosuit200. Referring to FIG. 3A, soft exosuit 200 may include two connectionelements 224 a, 224 b. First ends of connection elements 224 a, 224 bmay be coupled with a front portion of waist belt 212 and intermediateportions of each connection element 224 a, 224 b may extend downwardsalong a front portion of the user's thigh. The intermediate portions maythen split around the lateral sides of the knee so as to run alongsidethe center of rotation of the user's knee joint, as best shown in FIG.3C. Referring to FIG. 3B and FIG. 3C, connection elements 224 a, 224 bmay continue further downwards and wrap around the back of the user'slower leg, as shown. Referring to FIG. 3B, anchor members 210 may beprovided with attachment points 240 to which one or more actuationelements 320 may attach, as later described in more detail.

Materials and Construction

One or more components of the soft exosuit system may be fabricated atleast in part from materials with high elastic modulus. Utilizingmaterial with high elastic modulus may minimize transmission lossesalong the load paths of the suit due to the materials stretching.Minimizing transmission losses and securing different components of thesoft exosuit system may reduce power consumption, motor size, andbattery size. Additionally, minimal stretching may further assist insecuring components of the soft exosuit system (e.g., anchor member 210)in place, thereby helping to maintain proper alignment of soft exosuit200 on the wearer's body.

Embodiments of the soft exosuit system may further include materialsthat provide comfort by alleviating the risk of abrasion due to theinteraction of stiffer, high elastic modulus materials with the body. Asfurther described in more detail below, the exosuit may also beconstructed to be closer to a unitary article of clothing rather than acomplicated series of components, such as harnesses and straps, whichmay extend the time to change in and out of the soft exosuit system.

The various anchor members 210, in various embodiments, may be made fromwoven and reinforcement materials. Woven and reinforcement materials mayhave different strain properties in different directions, which allowsfor such textiles to be used to help define and reinforce load paths inplace of potentially uncomfortable webbing reinforcement. The woven andreinforcement materials may be constructed to be adjustable andconformal in shape and contour so as to enhance their ability to stay inplace when loads are applied.

FIG. 4A, FIG. 4B, and FIG. 48C illustrate a representative embodiment ofwaist anchor member 212. Waist anchor 212 may encircle the user's waistand be configured to engage the iliac crest for support. In anembodiment, waist anchor 212 may connect or attach to other componentsof soft exosuit 200, such as thigh anchor 214 via connection elements222, to insure minimal migration and drifting as the body is in motion.The patterned contour of the suit provides a conformal fit that properlyaligns with attachment points on corresponding components of softexosuit 200.

Waist anchor 212, in various embodiments, may be fabricated using avariety of textile materials. The waist anchor 212, in variousembodiments, may include layered materials and intricately patternedpanel pieces. The back of waist anchor 212, as shown in FIG. 4B, can becomposed of two or more panels of layered plain weave woven material,such as Typhoon, and may further be reinforced with strong material suchas sailcloth. The front panels of waist anchor 212 may be attached at anangled side seam, and the left and right front panels of the waist beltmay overlap to encircle the waist and connect with Velcro. Comfort maybe maintained by alleviating areas of woven and layered textile bycutting and integrating plush, padded materials. For example, foampadding can be sewn underneath a cutout that aligns with the wearers'iliac crest. This padding can alleviate pressure and improves comfortwhen the system provides asymmetric loads during the gait cycle.

Referring to FIG. 4D and FIG. 4E, materials of waist anchor 212 may bearranged to provide load paths through the waist anchor 212, and toreinforce areas where loads may be introduced to waist anchor 212 fromother components of soft exosuit 200. In an embodiment, reinforcementand/or other materials may be positioned where connection elements 224join the front of waist anchor member 212 at attachment points 250, andwhere connection elements 222 join the side of waist anchor member 212.The materials may be arranged in a manner suitable to direct loadsentering or leaving waist anchor 212 along predetermined load paths, asshown by the arrows depicted in these figures. As shown, in anembodiment, the materials may be arranged to direct these loads morevertically near an upper portion of waist anchor 212 so as to provide anatural up-and-down load on the hips. The materials can also be areoriented such that, when strained, the most stable direction is in linewith the load path at which force is delivered through the suit. Eachpanel may be constructed with multiple layers of Typhoon and reinforcedsailcloth material oriented in opposing directions to support loadsintroduced to waist anchor 212, and to distribute asymmetric loadsacross both hips.

FIG. 5 illustrates a representative embodiment of thigh anchor 214. Thethigh anchor 214 may include a multi-panel piece panel configured towrap around the user's thigh. This band of material can overlap ontoitself and can be secured using individual Velcro tabs, lacing, a reeland cord system or an adjustment mechanism. Thigh anchor 214 may furtherhave a contoured design and multiple adjustable Velcro tabs, whichprovide for a comfortable fit that with minimal potential for slipping.Discrete elastic segment may be included along seams and or tabs andclosures to improve comfort when tensioned and actuated as well asallowing a more conformal interface with the wearers' body. Severalindividual tabs allow for thigh anchor 214 to encircle the thigh andfasten with various amount of tension between each tab to evenlyaccommodate the contour of the thigh and quadriceps muscle activation.The addition of elastic alleviates pressure during actuation and as themuscle flexes and releases during movement. Thigh anchor member 214, invarious embodiments, may be fabricated using a variety of additionaltextile materials including Typhoon, foam and reinforced sailcloth aspreviously described in the context of waist anchor 212. Arepresentative placement of thigh anchor 214 may be approximately 12centimeters above the patella over a distance of at least 15centimeters, though one of ordinary skill in the art will recognize anumber of suitable positions of thigh anchor 214 for a givenapplication.

Referring back to FIG. 4E, thigh anchor member 214 may be constructed todistribute forces evenly to the thigh. The conformal contour of thethigh piece design stays secure on the thigh while maintaining comfortbecause of the flexible reinforcement material that can be patterned tointerface along a load path extending between thigh anchor 214 and waistbelt 212 via connection element 222. The woven and reinforcementmaterials may be further arranged to reinforce load paths where thighanchor member 214 connects on the back to rear connection element 222 ofthe waist anchor member 212, as shown by the arrows. Materials, such asreinforcing sailcloth, may be further arranged to direct these loadsmore vertically near a central portion of thigh anchor member 214 so asto provide a natural up-and-down load on the thigh, as shown by thearrows depicted in this figure.

FIGS. 6A-6F illustrate a representative embodiment of calf anchor 216.Referring first to FIG. 6A, FIG. 6B, and FIG. 6C, calf anchor 216 mayinclude a sleeve-like structure configured to securely couple with alower portion of the user's leg, such as the calf area. A representativeplacement of calf anchor 216 may be approximately 7 centimeters belowthe center patella extending a distance of at least 18 centimeters,though one of ordinary skill in the art will recognize a number ofsuitable positions of calf anchor 216 for a given application.

Calf anchor 216 may be configured to moderately compress the calf muscleeven without external force applied from actuation system 300. Calfanchor 216 can be reinforced with material along the load path, aspreviously described in the context of waist anchor 212 and thigh anchor214, and can overlap onto itself. This sleeve may be secured usingindividual Velcro tabs, lacing, a reel and cord system or an adjustablemechanism. Use of these securing methods or a combination of thesesecuring methods can accommodate the unique and varied contour of anindividuals' calf while remaining stable on the wearer during actuation.

Calf anchor 216 can additionally employ foam padding to be placed underlacing that contains the bulk of the calf. This lacing can consist ofinextensible laces, extensible elastic laces, a reel and cord system oran adjustment mechanism. Integrated or detachable padding can alleviatepressure caused as the system actuates from the back of the calf. Calfanchor 216 may fit comfortably and conformably due to its multi-piecepatterned contoured design, double securing closure and elastic lacedcontainment.

Referring to FIG. 6D, calf anchor member 216 may be constructed todistribute forces evenly to the user's calf region. For example,textiles may be oriented with the fabric grain in specific directions toprovide a corresponding, desirable force distribution on the body. Thewrap functions by the fabric “jamming” against the side of the shin andcalf muscle as forces are applied downward in the back. The orientationof the reinforced material can be critical to the even distribution ofinward force over the bulk of the calf muscles and tendons as the top ofthe shin receives mostly inward force. Calf anchor 216 may primarilyconsist of a woven textile oriented such that the most stable directionis in line with the load path at which force is delivered through thesuit. This can be further reinforced with sailcloth material patternedon the back of the calf wrap in a “V”-shape to direct the force up andto the sides of the calf muscles and tendons. Creating an overlap on thereinforced “V”-shape can allow for an integrated point of attachment forthe corresponding actuation element 220, as later described. Thisoverlapping attachment can be further reinforced with an abrasionresistant material as the base of the attachment can rub against footanchor 18, such as a boot, in operation.

FIG. 6E, FIG. 6F, FIG. 6G, and FIG. 6H depict a representative couplingelement 217 for connecting calf anchor 216 with connection elements 224.Coupling element 217 may be referred to herein as a “Y-strap,” but itshould be recognized that the present disclosure is intended to includeany mechanism suitable for this purpose. The Y-strap provides for someof the reaction force resulting from a tensile load applied to the footanchor 18 to be transferred in part to the user's calf via calf anchor216, and in part to the connection elements 224. This coupling may allowdistribution of a high assistive force into two different anchor members210 such as the calf anchor 216 and the waist anchor 212 through theconnection elements 224. This coupling may also serve to reducedisplacement of actuation element 320, thereby helping to minimizetransmission loss within the exosuit system 100. Minimizing displacementand transmission loss in may minimize the amount of batter powerrequired to generate a desired force via actuation system 300.

The Y-strap 217 is a custom made component that interfaces with calfanchor 216 and connection elements 224 so as to form load pathstherebetween. The Y-strap 217 may be constructed of layered textile andreinforced sailcloth. The strap is composed of five individualconnection points. Two of these connection points connect the Y-strap217 to calf anchor 216. In particular, the two overlapping “V” legs ofthe strap can connect using Velcro to pass through two individual 2-barslides that are affixed to the force path of the calf wrap. Because itallows two different components to sustain the total force generated bythe exosuit cable, the Y-strap 217 allows to either decrease the stresson the tissues under the calf wrap and the waist belt, or to increasethe maximum amount of assistive force that an exosuit can deliverwithout compromising the comfort of the wearer. The third connectionpoint is used to couple the Y-strap 217 to the ends of connectionelements 224 a,b. In particular, there is a loop ring at theintersection of the two “V” legs of the strap, through which a cord withtwo loops is threaded. Each looped end of the cord may be coupled withthe lower ends of connection elements 224 a,b, which may, in anembodiment, be situated on opposing lateral sides of the user's kneejoint. The fourth and fifth connection points may be loops situated nearthe convergence of the “V” legs of the Y-strap 217, and are used tocouple the Y-strap 217 to mechanism for attaching an actuation element320 for actuating soft exosuit 200. The mechanism, in an embodiment, maycouple with Y-strap 217 via two pins inserted through the loops, asshown in FIG. 6G.

Referring to FIG. 6H, it should be noted that tensile loads may not beevenly distributed between outer and inner connection elements 224 a,bbecause of asymmetries in a soft exosuit user's leg and walkingmechanics. In particular, if the lower portions of connection elements224 were coupled in a fixed position with Y-strap 219, loads may begreater in connection element 224 a directed along the outside of thesoft exosuit user's knee than in connection element 224 b directed alongthe inside of the soft exosuit user's knee. This could causeuncomfortable lateral torqueing on the knee joint. As such, the cord maybe allowed to slide laterally within the loop ring, thereby allowingconnection elements 224 a, 224 b to move up and down with, as indicatedby the arrows in FIG. 6H. In this way, asymmetric lateral loads exertedon connection elements 224 a, 224 b may be automatically balanced,thereby resulting in a self-balancing system. Of course, one of ordinaryskill in the art will recognize that any number of mechanisms may besuitable for balancing uneven forces exerted by connection elements 224a, 224 b, and that the present disclosure is not intended to be limitedonly to the exemplary embodiment described herein.

FIG. 7A, FIG. 7B and FIG. 7C illustrate embodiments of foot anchormember 218. As shown in FIG. 7A, in an embodiment, foot anchor membermay comprise footwear such as a boot. In such an embodiment, foot anchormember 218 may include an external heel coupler 219 for acting as ananchor point on the back of the boot heel. An actuation element 320 ofactuation system 300 may attach to heel coupler 219 in variousembodiments for delivering a tensile force to soft exosuit 200, as laterdescribed in more detail. In another embodiment (not shown), foot anchor218 may include a footwear insert, in lieu of or in addition to aninsole of standard footwear, and may serve in like manner as an anchorpoint on the back of the footwear heel.

In general, many forms of footwear are fairly deformable under loads. Assuch, when an upward pulling force acts on the anchor point at the heelof the footwear, the sole may bend upward and portions of the footwearmay shift on the user's foot, potentially leading to blisters and otherdiscomfort. Deformation may also bleed energy from forces beingtransmitted into or through soft exosuit 200, thereby requiring agreater amount of force to be generated by actuation system 300 toachieve a desired resulting load in soft exosuit 200.

To reduce deformation in response to loads introduced to footwear anchor218, and thereby increase comfort and improve performance, foot anchor218 may include a structural stiffening component. FIG. 7B depicts anexample stiffening component and FIG. 7C shows the example stiffeningcomponent of FIG. 7B installed on a boot for illustrative purposes.

The stiffening component (also referred to herein as a footwearstiffener or boot stiffener) may interface with a heel section of footanchor 218 via threaded inserts. A coarse screw may be used near theball of the foot for its reduced cross-section and to provide additionalcomfort. Threaded screws daubed in flexible epoxy may also be used toprovide additional stiffness. In an embodiment, the footwear stiffenermay be constructed of a lightweight, strong material including, but notlimited to, carbon fiber (CF). Although CF is mentioned for itsrelatively high stiffness to weight ratio, other materials may also besuitable for the footwear stiffener, be they metals, polymers orcomposites. One of ordinary skill in the art will recognize suitablematerials and constructions for a given application.

The footwear stiffener, in an embodiment, may be contoured to fit aroundthe side of the sole of the boot, with some additional space left inselect areas to improve comfort, such as the arch of foot. The stiffenerlayer may be secured to the boot with a number of screws, nuts, boltsand/or other fasteners, or with an adhesive material, or via any othersuitable method.

The footwear stiffener improves the stiffness of foot anchor 218 byincreasing the effective stiffness of the sole. Because the CF is muchstiffer than the sole of the footwear, the CF takes the majority of theload and deforms very little. This means that there is little or nodeformation of foot anchor 218 at least between the ball of the foot andthe heel, similar to rigid mountaineering boots. In this way, thefootwear stiffener increases system efficiency by increasing thestiffness of foot anchor 218, which may result in needing a smallermagnitude if actuation (e.g., a lower cable stroke, as later described)to achieve the same force. For example, tests have shown that the amountof stroke required to generate 450N of force in soft exosuit 200 may bereduced by about 560% using the footwear stiffener. The reduced strokemeans lower speeds, which leads to lower power consumption as theactuator 210 (e.g., motor) is required to move less to achieve thedesired force. Power consumption is defined using equation (1):P(W)=F(N)v(ms−1)  (1)where power consumption is represented by P(W), force is represented byF(N) and velocity is represented by v. Based on equation (1), when theforce remains constant and the velocity decreases, the drive motor maygenerate less power.

FIG. 7D depicts another embodiment of footwear stiffener comprisingcomponents may from a variety of materials. As shown, footwear stiffenerof FIG. 7C includes aluminum spars that extend from the heel to thetarsal-metatarsal joint of the foot, and a carbon fiber cup that extendsabout the heel. In an embodiment, the carbon fiber cup component mayhave a thickness of about 2 mm to 4.5 mm. Use of a combination ofaluminum and carbon fiber materials may improve the durability of theboot stiffener and provides for enhanced stiffness and comfort.

FIG. 8A, FIG. 8B, and FIG. 8C illustrate various perspectives of arepresentative embodiment of connection element 220. Connection elements220, in various embodiments, may be fabricated using a variety oftextile materials including layers of reinforced sailcloth material,which can be oriented and assembled such that their overlap can createthe connection point, or integrated a loop for system attachment. Theoriented in its most stable direction and is in line with the load pathat which force is delivered through the suit eliminates the possibilityof an interruption in stiffness transitioning from textile to anothercomponent. Padding can be added between the integrated attachment loopand the wearer's body so that movement during actuation causing thecable attachment component to press into the wearer's body cannot befelt.

The connection elements 220 can be made dimensionally stable usinglayered reinforcement sailcloth that feeds through 2-bar slideattachment points on the waist belt while the other end of theconnection elements 220 include D-rings that allows the cord of theY-strap, “cable guide” to pass through completing the load path betweenthe waist belt and calf wrap.

FIG. 9A, FIG. 9B, and FIG. 9C illustrate embodiments of a base layer 230(e.g., leggings) of soft exosuit 200. In various embodiments, base layer230, as well as other components of soft exosuit 200, may include lightweight, breathable and antimicrobial materials. Table 1 below provides ageneral description of various materials from which base layer 230 maybe fabricated in various embodiments, and potential benefits associatedwith these materials.

TABLE 1 Material Type Benefits of the Material Main Body Fabric, Finish:Durable Water Repellent Woven: Typhoon Black 385 Properties:Lightweight, Durable, Manufacturer: Springfield Dimensional Stability,fire resistant Content: Polyester/Cotton coating can be appliedReinforcement Material: Properties: Extremely light Laminated Sailcloth,CZ90HP weight, Flexible, Dimensional Manufacturer: Dimension Stabilityand stiffness Polyant Content: Woven/Film/ Scrim/Film Main Body Knit:Triple Finish: Tuff Face (for abrasion Plated Jersey Stretch Knit,resistance) and wicking 64644F Manufacturer: United Properties:Breathable, light Knitting weight, abrasion resistant Content:Nylon/Lycra Mesh Inseam Knit: Circular Finish: Tuff Face (for abrasionKnit Mesh, 61491TF resistance) and wicking Manufacturer: UnitedProperties: Breathable, light Knitting weight, abrasion resistantContent: Nylon/Lycra Under fly Antimicrobial Finish: Hydrophilic Knit:Circular Knit Jersey, Properties: Light weight, 75660 with Purthreadantimicrobial, breathable Manufacturer: United Knitting Content:Polyester/Purthread lycra Custom Lamination Foam Properties: Lightweight, Padding: Dela Foam conformal, antimicrobial Content: Main BodyFabric, United 64644F/Dela Foam G45 (5 mil.)/Purthread

As shown in Table 1, Typhoon is an example of woven material andlaminated sailcloth is an example of reinforcement material applied toone or more components of the soft exosuit 200. Typhoon may be flexible,relatively breathable, light weight, and can be further reinforced withsailcloth along desirable directions. The woven and reinforcementmaterials may include adjustable Velcro closure tabs, laces, or otherelements to provide a custom fit. The woven and reinforcement materialsmay further be provided with integrated attachment points for connectingwith the various connection elements and may be reinforced withsailcloth lamination to increase dimensional stability.

A foam padding material may be added in strategic areas of individualcomponents of the exosuit where rubbing and pressure can occur over bonyprotrusions of the wearers' body or between attached mechanicalcomponents and the wearers' body.

In certain areas of the soft exosuit system, the legging fabric mayinclude a mesh liner when breathability of the fabric is of concern. Thelegging fabric may further include padding material at one or more areaswhere other components of exosuit system may contact the body (e.g., atthe locations of one or more of anchor components 210 and/or along allor part of an area of the body along which connection and actuationelements 220 and 320, respectively, may run.

Actuation System 300

FIG. 10 depicts a representative actuation system 300 for generatingtensile forces in soft exosuit 200 for delivery to user. Actuationsystem 300, in various embodiments, may comprise one or more actuators310 and actuation elements 320.

Actuator 310, in an embodiment, may include any suitable mechanism knownin the art for displacing actuating element 320 in a manner thatgenerates force in soft exosuit 200 by virtue of said displacement, suchas a motor. For ease of explanation alone, actuator 310 may be referredto herein as a motor; however, it should be recognized that the presentdisclosure is not intended to be limited to this particular embodimentof actuator 310.

Actuating element 320, in an embodiment, may include elements such as acable, fabric straps, webbing straps, wiring, and the like. In variousembodiments, a proximal end of actuating element 320 may be coupled withmotor 310, perhaps via a pulley 330 and gearbox 340 as shown, and adistal end of actuating element 320 may be coupled with one or morecomponents of soft exosuit 200. For ease of explanation alone, actuatingelement 320 may be referred to herein as a cable or Bowden cable;however, it should be recognized that the present disclosure is notintended to be limited to this particular embodiment of actuatingelement 320.

Referring to FIG. 11, in various embodiments, motor 310 may be locateddistally from a portion of soft exosuit 200 to which cable 320 isattached, and cable 320 may extend therebetween. In some suchembodiments, motor 310 may be located somewhere on the torso or waist ofthe user, such as in a backpack or fanny pack, or on waist anchor 212.In other embodiments, motor 310 could instead be positioned proximatethe portion of soft exosuit 200 to which cable 320 is attached.Providing drive power locally may reduce transmission losses along cable320, and may require a smaller driver motor 310 to generate a desiredforce. However, positioning drive motor 310 locally could increase theinertia of the assisted appendage, which may require motor 310 to berelatively bigger in size in order to provide a correspondingly greaterforce to assist movement. Various embodiments of actuation system 300may have a variety of suitable drive motor 310 placements and sizingdepending on the various applications of the soft exosuit system 100.

Referring to FIGS. 12A-12E, cable 320 of actuation system 300 may beconfigured to couple with one or more components of soft exosuit 200 ina manner suitable to generate a tensile force therein. In variousembodiments, cable 320 may be configured to connect to a portion(s) ofsoft exosuit 200 positioned on an upper portion of the user's leg. Insome embodiments, the distal end of cable 320 may couple with thighanchor 214 and an intermediate portion of cable 320 may couple withwaist belt 212. For example, cable 320 may couple with rear portions ofthese components and extend along a rear portion of the users thigh, asshown in FIG. 12A and FIG. 12E. Additionally or alternatively, cable 320may couple with front portions of these components and extend along afront portion of the users thigh, as shown in FIG. 12B).

In various other embodiments, cable 320 may be configured to connect toa portion(s) of soft exosuit 200 positioned on a lower part of theuser's leg. In an embodiment, the distal end of cable 320 may couplewith foot anchor 218 and an intermediate portion of cable 320 may couplewith connection elements 224 and/or calf wrap 216, as shown in FIG. 12C,FIG. 12D, and FIG. 12E. For example, cable 320 may couple with a rearportion of foot anchor 218 and extend along a rear portion of the user'slower leg to Y-strap 219, thereby being indirectly coupled with calfwrap 216 and connection elements 224.

FIGS. 12A-12E also illustrate how actuation system 300 generates tensileforces in various embodiments of soft exosuit 200. As configured,displacement (e.g., shortening) of cable 320 by drive motor 310 mayintroduce a tensile force that pulls components of soft exosuit 200towards one another, as further described below.

FIG. 12A illustrates an embodiment of soft exosuit 200 comprising waistanchor 212 and thigh anchor 214. Cable 320 of actuation system 300 has adistal end coupled with thigh anchor 214 and an intermediate portioncoupled with waist anchor 212, and extends along the rear of the usersthigh. Displacement of cable 320 generates a tensile force that pullswaist anchor 212 and thigh anchor 214 towards one another, as indicatedby the arrows. This force, being offset from a center of rotation of thehip joint, may provide a torque about the user's hip joint in theextension direction (as indicated by the corresponding arrow), much likeactivation of the hamstring and gluteus maximus muscles may serve topull the femur backwards about the waist joint.

FIG. 12B illustrates another embodiment of soft exosuit 200 comprisingthe same components; however, cable 320 instead extends along the frontof the user's thigh. Displacement of cable 320 generates a tensile forcethat pulls waist anchor 212 and thigh anchor 214 towards one another, asindicated by the arrows. This force, being offset from a center ofrotation of the hip joint, may provide a torque about the user's hipjoint in the flexion direction (as indicated by the correspondingarrow), much like activation of the quadriceps muscles may serve to pullthe femur forwards about the waist joint.

FIG. 12C illustrates an embodiment of soft exosuit 200 comprising calfanchor 216 and foot anchor 218. Cable 320 has a distal end coupled withfoot anchor 218 and an intermediate portion coupled with calf anchor216, and extends along the rear of the user's lower leg. Displacement ofcable 320 generates a tensile force that pulls foot anchor 218 and calfanchor 216 towards one another, as indicated by the arrows. This force,being offset from a center of rotation of the ankle joint, may provide atorque about the user's ankle joint in the plantarflexion direction (asindicated by the corresponding arrow), much like activation of the calfmuscles and Achilles tendon may serve to rotate the ankle downwards.

FIG. 12D illustrates an embodiment of soft exosuit 200 comprising waistanchor 212, foot anchor 218, and connection elements 224 extendingtherebetween in the manner (or in a similar manner) shown in FIG. 3A,FIG. 3B, and FIG. 3C. Cable 320 has a distal end coupled with footanchor 218 and an intermediate portion coupled with connection elements224, and extends along the rear of the user's lower leg. Displacement ofcable 320 generates a tensile force that pulls foot anchor 218 andconnection elements 224 towards one another, as indicated by the arrows.This force, being offset from a center of rotation of the ankle joint,may provide a torque about the user's ankle joint in the plantarflexiondirection (as indicated by the corresponding arrow), much likeactivation of the calf muscles and Achilles tendon may serve to rotatethe ankle downwards. Further, a portion of the tensile force is directedup connection elements 224 along the front of the user's thigh andtowards waist anchor 212. This portion of the force, being offset from acenter of rotation of the hip joint, may provide a torque about theuser's hip in the flexion direction as indicated by the correspondingarrow.

FIG. 12E illustrates an embodiment of soft exosuit 200 including twomodules—a first module including the configuration shown in FIG. 12A anda second module including the configuration shown in FIG. 12C.Displacement of cable 320 a of the first module generates a tensileforce that pulls waist anchor 212 and thigh anchor 214 towards oneanother, as indicated by the corresponding straight arrows, therebydelivering a resulting torque about the user's hip joint in theextension direction, as indicated by the corresponding curved arrow.Displacement of cable 320 b of the second module generates a tensileforce that pulls foot anchor 218 and connection elements 224 towards oneanother, as indicated by the corresponding straight arrows, therebydelivering a resulting torque about the user's ankle joint in theplantarflexion direction as indicated by the corresponding curved arrow.A portion of the tensile force is directed up connection elements 224along the front of the user's thigh and towards waist anchor 212,thereby delivering a resulting torque about the user's hip in theflexion direction as indicated by the corresponding curved arrow. Motors310 a,b of actuation system 300, in various embodiments, may be actuatedat different times to deliver assistance for corresponding jointmotions.

Referring to FIG. 13, soft exosuit 200 may be configured to distributeportions of the force generated by actuation system 300 to various partsof the user's body. Distributing portions of the force to differentparts of the user's body may serve to improve an exosuit user's comfortlevel and thereby allow for an increased amount of force to be generatedfor enhanced motion assistance, especially at the ankle. For example,say comfort limits the amount of force that could be borne by the user'swaist to about 250N. Embodiments of soft exosuit 200 comprising only oneanchor member 210 in addition to waist anchor 212 may be limited toabout 500N of overall assistive force, if the loads are distributedevenly between the two anchors. Of course, variations in materials,construction, and fit of soft exosuit 200 may lead to an unevendistribution, but for the sake of the current example, assume a 50%/50%distribution. Embodiments of the soft exosuit 200 further includes calfanchor 216. If forces are distributed evenly amongst these three anchorelements, the result is about a 33%/33%/33% split of the overall forcebeing delivered to the corresponding parts of the body. In the currentexample, that would be about 167N to each of the waist, calf, and heelof the user. As 167N falls below the hypothetical comfort threshold of250N at the waist, the overall force that can generated in the suit maybe increased by a comparable amount (i.e., to a total of about 750N). Itshould be recognized; however, that the particular construction of thesoft suit 200, and how it interfaces with the body, may affect thedistribution. For example, as shown in FIG. 13, rather than an evendistribution, about 30%-50% of the force generated by actuation system300 could be distributed to the user's calf, resulting in only about50%-70% of the actuator force being borne by the user's waist. Evenstill, this may allow for additional force (e.g., about 150N-250N) to bedelivered to soft exosuit 200 near the ankle (e.g., for a total of 500N)whilst maintaining the same loading on the user's waist (e.g.,250-350N), as before. This extra force may be useful in providingenhanced ankle motion assistance. Additionally, distributing the forceamongst multiple parts of the user's body reduces the force on eachelement, thereby reducing pressure on the skin and underlying tissue andimproving user comfort. Other embodiments of the soft exosuit system 800may have forces of about 300 N to about 450 N applied to the softexosuit user's calf. It should be understood that these are purelyhypothetical examples, and the specific force magnitudes anddistribution percentages set forth herein are for illustrative purposesonly.

The force distribution, in various embodiments, may be controlled inpart by adjusting various components of soft exosuit system 200. Forexample, the Y-strap 219, which couples cable 220 and connectionelements 224 to calf anchor 216, may be tightened down to provide astiffer interface, thereby offloading to the user's calf a largerportion of the overall suit force. Similarly, in another embodiment,Y-strap 219 may be loosened up to provide a looser interface, therebyoffloading to the user's calf a smaller portion of the overall suitforce. Splitting the load between connection elements 224 a,b may alsoserve to increase user comfort.

Sensors 400

Referring to FIG. 14A and FIG. 14B, exosuit system 100 may furthercomprise one or more sensors 400.

One or more of sensors 400, in various embodiments, may include anysensor or combination of sensors suitable for measuring tensile forcesgenerated by actuation system 300 in soft exosuit 200 (referred toherein as a “force sensor(s) 410”). For example, in an embodiment, forcesensor 410 may include a load cell. For ease of explanation alone, forcesensor 410 may be referred to herein as a load cell; however, it shouldbe recognized that the present disclosure is not intended to be limitedto this particular embodiment of force sensor 410, and that any othersuitable sensor/sensor arrangement capable of a similar purpose may beused instead. Force sensors 410 may be positioned in any location on orwithin soft exosuit 200 suitable for measuring the tensile force actingon a corresponding portion of soft exosuit 200. In an embodiment, forcesensor 410 may be positioned between or proximate a junction betweencomponents of soft exosuit 200 so as to measure tensile forces exertedon one component by another. For example, referring to FIG. 14A, forcesensor 410 may be positioned at an interface between cable 320 and waistanchor 212 so as to measure a tensile force exerted by cable 320 onthese components of soft exosuit 200. As another example, referring toFIG. 14B, force sensor 410 may be positioned at an interface betweenconnection elements 224 and cable 320 so as to measure a tensile forceexerted by cable 320 on these components of soft exosuit 200. Of course,exosuit system may comprise any suitable number, type, and arrangementof force sensors 410 to measure tensile forces in soft exosuit 200 forany given application.

Still referring to FIG. 14A and FIG. 14B, one or more of sensors 400, invarious embodiments, may include any sensor or combination of sensorssuitable for measuring the motion of a body joint, such as jointorientation (i.e., angle), as well as whether the joint is rotating, inwhich direction, how fast (i.e., angle derivative or angular velocity),and/or whether it is accelerating. Such sensors are referred to hereinas “motion sensors 420.” Exemplary sensors may include inertialmeasurement units (IMUs), gyroscopes, and accelerometers, amongstothers. Motion sensors 420 may be located on the body or on/within softexosuit 200 in any suitable arrangement for taking such measurements.One of ordinary skill in the art will recognize that any suitablenumber, type, and arrangement of sensors may be utilized so long as theyare capable of accurately measuring motion of the joint.

FIG. 14A is a schematic diagram illustrating an exemplary arrangement ofmotion sensors 420 for measuring the motion of the user's thigh. In thisembodiment, IMUs 420 may be placed on the user's thighs, as shown. TheIMUs 420 may be configured to measure (or calculate from othermeasurements taken by the IMU) one or a combination of thigh angle andthigh velocity. Thigh angle and thigh velocity may be used asapproximations of hip angle and hip velocity, respectively, incircumstances where the movement of the torso is negligible incomparison with the movement of the thigh. Of course, in anotherembodiment, an IMU or equivalent sensor may be positioned on the user'storso, thereby providing measurements of torso motion against which torelate the aforementioned thigh motion measurements. The relativedifference between the measured angles and velocities of the torso andthe thigh may be used to determine the angle an velocities of the hipjoint, respectively, under such circumstances.

FIG. 14B is a schematic diagram illustrating an exemplary arrangement ofmotion sensors 420 for measuring the motion of the user's ankle. In thisembodiment, two or more gyroscopes may be used to determine the angleand velocity of the ankle joint. In particular, in an embodiment, afirst gyroscope 420 a may be positioned on the user's lower shin (e.g.,on the shank of a boot worn by the user) and a second gyro 420 b may bepositioned on the user's foot (e.g., on the lower laces of a boot wornby the user). As the gyroscopes 420 a,b measure the angular velocitiesof the foot and the shank, respectively, the rotational velocity of theankle joint can be calculated by subtracting the measured angularvelocities contained in the signals from the two gyroscopes 420 a,b,similar to the way torso and thigh motion may be related to determinehip joint motion. Of course, one of ordinary skill in the art willrecognize that any suitable number, type, and arrangement of motionsensors 420 may be utilized so long as they are capable of accuratelymeasuring and/or determining the motion of the joint.

One or more of sensors 400, in various embodiments, may further includeany sensor or combination of sensors suitable for detecting gait-relatedevents such as, without limitation, a heel strike of the user, or a toeoff of the user. Such sensors are referred to herein as “gait eventsensors 430.” In some embodiments, one or more of motion sensors 420 maybe additionally configured for this role; in other embodiments, gaitevent sensors 430 may include a separate sensor such as foot switches,foot pressure sensors, potentiometers, and magnetometers, amongstothers. Systems and methods for detecting heel strike using measurementsfrom one or more gyroscopes and/or IMUs are explained in further detailin PCT/US2014/040340, filed May 30, 2014, which is hereby incorporatedby reference herein. Gait event sensors 430 may be located on the bodyor on/within soft exosuit 200 in any suitable arrangement for takingsuch measurements. One of ordinary skill in the art will recognize thatany suitable number, type, and arrangement of sensors may be utilized solong as they are capable of accurately detecting a particular gaitevent.

Control System 500

The present disclosure is further directed to one or more embodiments ofa control system 500 configured to manage and control other componentsof exosuit system 100 to provide motion assistance to a user. Inparticular, the control system may monitor the natural, muscle-drivenmovement of the body in real-time and in turn, command the manner inwhich actuation system 300 generates tensile forces in soft exosuit 200to deliver assistance to augment the forces generated by the muscles tomove the joint and thereby reduce the metabolic cost of performing themotion. To that end, embodiments of the control system 500 may beconfigured to control the magnitude of assistance generated by softexosuit 200, as well as the timing and duration for which the assistanceis provided.

Referring to FIG. 15, an exemplary embodiment of control system 500 maycomprise one or more data acquisition boards for receiving informationfrom sensors 400, one or more motor controller for controlling actuationsystem 300, and one or more processors configured to process informationreceived from the data acquisition board and the motor controller tomanage the generation of assistance via soft exosuit 200.

Control system 500 may be configured to command the actuation of softexosuit 200 in a manner configured to deliver power to one or more bodyjoints of a user of exosuit system 100 to assist natural motion of thosejoints. In particular, control system 500 may command motor 310 toactuate cable 320 to a position suitable for generating a force incorresponding components of soft exosuit 200. The resulting torque maybe applied by soft exosuit 200 as the exosuit user's body joint rotates,thereby generating additional power in the body joint to assist thenatural joint motion. Stated otherwise, soft exosuit 200 may deliverassistive power according to the following equation,P_(assist)=τ_(exosuit)*ω_(joint), where P_(assist) represents the powerdelivered by soft exosuit 200 to the body joint, τ_(exosuit) representsthe torque generated about the body joint by actuation of soft exosuit200, and ω_(joint) represents the angular velocity of the joint duringthe motion being assisted.

Control system 500, in some embodiments, may be configured to actuateexosuit 200 to deliver a desired amount of power to the joint during onestep or stride of the user. This may be accomplished, in an embodiment,by varying the force magnitude generated in suit exosuit 200 dependingon the angular velocity of the joint motion. Such an approach may bereferred to herein as “power-based force control” when the motorcontroller directly controls the force that the system applies to thejoint to generate a desired amount of power during a step or stridedepending on the rotational velocity of the joint, or as “power-basedposition control” when used in the context of controlling the positionof the actuator to generate forces suitable for delivering the desiredpower to the joint during one step or stride depending on joint angularvelocity. In other embodiments, control system 500 may be configured toactuate soft exosuit 200 to deliver a desired torque about the jointrather than a desired power profile. This may result in a varying amountof assistive power being delivered depending on the angular velocity ofthe joint during motion. Such an approach may be referred to herein as“force control” when controlling directly the force generated in softexosuit 200, or as “force-based position control” when used in thecontext of controlling the position of the actuator to generate adesired force or resulting torque. While the present disclosure maydescribe various actuations of soft exosuit 200 in the context of onlyone of either power-based force/position control or force/force-basedposition control, it is not intended to be limited as such. One havingordinary skill in the art will recognize control system 500 may utilizeany of these approaches whenever suitable.

When torque is applied in the same or similar direction as motion of thejoint, a positive power may be generated. Conversely, when the resultingtorque opposes the motion of the joint, a negative power is produced.Because the human body can use energy to generate both positive andnegative power, both positive and negative powers generated by theexosuit may be considered assistive powers depending on the particularapplication. For example, positive power assistance may be desired toenhance the strength of and/or reduce fatigue associated with aparticular motion of a particular joint and even the whole body. Asdescribed in more detail later in the disclosure, positive powerassistance during stance plantarflexion motion of the ankle joint mayhelp to propel the user's body forward during locomotion, such aswalking, marching, running, etc. Similarly, positive power assistanceduring an extension motion of the hip may serve a similar purpose. Asused herein, positive power, in various embodiments, may correspond toan active force applied by exosuit system to aid in said propulsion. Asan additional example, negative power generated by the exosuit duringthe stance dorsiflexion motion of the ankle joint may be used to assistin the deceleration of the body and the body joint after heel strikeprior to a propulsive motion. For example, as described in more detaillater in the disclosure, this result in the system producing moments atthe joints simultaneously with the underlying muscles and tendons, whichextends from one heel strike to the next for a given leg. For example,in the case of ankle plantarflexion assistance, by applying force in thepositive power region of the gait cycle the system assists the calfmuscles and tendons to push the body up and forward. Whereas byproviding assistance during the negative power phase the suit assiststhe calf absorb power by stretching as the body's center of mass fallsdownward and forward over the planted foot. In another embodiment suchas hip extension the control system detects in real-time gait events toassist the hip extensor muscles from when the hip changes direction fromflexion to extension which is where the positive power generation startsand when the underlying muscles start producing work in the joint toaccelerate the hip joint and push the body forward as the center of massfalls downward and forward over the planted foot. The control methodsdescribed herein detect multiple gait events in real-time to detect whenthe underlying muscles and tendons require additional assistance topropel the body forward, this allow to adapt to the way differentindividuals walk and to different locomotion activities. The methodspresented here may also be applied to assist joints in differentdirections or additional joints during locomotion and during otheractivities not explicitly described in present disclosure.

Control system 500 may be configured to govern the generation ofassistance via commands to actuation system 300. In particular, controlsystem 500, in various embodiments, may command motor 310 to move cable320 to a position suitable to deliver a desired force or power to thebody via exosuit 200. In an embodiment, control system 500 may command acable position that causes cable 320 to remain slack prior to a periodof passive or active assistance such that it generates little or noforce in soft exosuit 200. In another embodiment, control system 500 maybe configured command a cable position that causes components of softexosuit 200 to generate a passive force in response to a particularmotion. This passive force may serve to pretension cable 320 and thejoint prior to a period of active assistance to enhance the effect ofthe active assistance. In yet another embodiment, control system 500 maycommand motor 310 to move cable 320 in a manner suitable to generate anactive force by actively pulling components of soft exosuit 200 towardsone another. Such commands are typically timed so as to move cable 320at the onset of and/or during the motion to be assisted, so as toaugment the natural forces generated by corresponding muscles._Generallyspeaking, the further control system shortens and increases the tensionin cable 320, the higher the magnitude of the force generated within theexosuit 200 and the greater the resulting torque about the targeted bodyjoint. Accordingly, control system 500 may be configured to control themagnitude of torque generated by exosuit system 100 by commanding drivemotor 310 to move cable 320 to an position sufficient to deliver, be itpassively or actively, a desired torque or power to the body joint.

Force and Actuation Profiles, Generally

FIG. 16A illustrates a representative force profile to be delivered to auser's body via soft exosuit 200 to assist joint motion. As used herein,a force profile is a way of conveying how much force is generated insoft exosuit 200 at various times throughout a motion assistance period.To that end, a force profile may convey the magnitude of the generatedforce, the timing at which it is initiated, and the duration for whichforce is applied. Embodiments utilizing force-based control may directlytarget a given force profile, while those utilizing power-based controlmay first utilize angular velocity measurements from motion sensors 420to derive a corresponding force profile from a desired power profile.

The magnitude of the force in the representative force profile of FIG.16A may increase at the start of assistance and rise sharply towards apeak magnitude. The force may then peak and subsequently fall off at asimilar rate near the end of assistance. In an embodiment, the forceprofile may be generated such that that the force peaks when targetedmuscle groups involved in generating the motion reach maximum activationlevels, thereby providing a critical boost that enhances maximum powerand reduces metabolic energy consumption. As described in additionaldetail later in this disclosure, the force profile depicted in FIG. 16Amay be used to assist the lower leg muscles in assisting stancedorsiflexion and plantarflexion motion of the ankle joint to help propelthe user forward during locomotion.

It should, of course, be recognized that control system 500 may beconfigured to command the actuation of soft exosuit 200 in any suitablemanner to produce any number of suitable force profiles, and that thepresent disclosure is not intended to be limited to only the exemplaryembodiment described above.

FIG. 16B illustrates a representative actuation profile for generatingthe force profile of FIG. 16A. As used herein, an actuation profile is away of expressing how actuation system 300 may be actuated in order togenerate a desired force or power profile with the appropriate timingand duration to assist the motion of the joint as it occurs.

As shown in FIG. 16B, an actuation profile may express a sequence ofvarious cable positions throughout the period of assistance. In thisexample, cable 320 is maintained at a first position (i.e., 100 mm) fora portion of the user's gait cycle extending between about 80% of onegait cycle and about 40% of the successive gait cycle. During much ofthis period, the commanded cable position generates little or no force,as evidenced in the force profile of FIG. 16A, and cable 320 may beslack. However, during the period extending between about 20% and 40% ofthe gait cycle, force increases while cable position remains in thefirst position. This reflects a passive force being generated as thesoft exosuit 200 acts to restrict the particular motion of the jointduring this time. Between about 40% and 75% of the gait cycle, cable 320is driven towards a second position (i.e., 150 mm) and back to the firstposition, creating the active force shown by the spike in FIG. 16A. Itshould be recognized that the preceding example was described forillustrative purposes only, and that control system 500 may beconfigured to generate any number of suitable actuation profiles inaccordance with the teachings of the present disclosure.

Control system 500, in various embodiments, may be configured to utilizefeedback from sensors 400 to determine appropriate cable positions, aswell as the timing and duration for which they should maintained, so asto generate a desired force or power profile in soft exosuit 200, asdescribed in more detail below.

Actuation Magnitude

The control system, in various embodiments, may be configured todetermine a suitable cable position Pos_(peak) for generating thedesired peak force F_(peak) in a soft exosuit system.

In one embodiment, control system may estimate the corresponding cableposition Pos_(peak) using empirical data from prior testing of softexosuit system. For example, control system 500 may include a lookuptable, library, equation, or other predetermined reference thatassociates various cable positions with associated forces to be producedin the soft exosuit system. While such an approach may work well with awearable robotic system that is configured to fit various users in thesame way every time they don the suit, components of soft exosuit systemmay shift, stretch, or otherwise behave in a manner that reduces thestiffness of the system, resulting in a reduction in the magnitude ofpeak force actually delivered to the user's body the soft exosuit systemfor a given motor position trajectory.

To account for this, control system 500, in various embodiments, mayutilize a force-based position control approach, which utilizes feedbackfrom force sensors 410 to iteratively change cable position Pos_(peak)until the targeted peak force F_(peak) is achieved. Control system 500,in an embodiment, may begin by comparing the desired peak force that wasto be delivered during the preceding stride to load cell measurements ofthe actual peak force delivered during the preceding stride. The controlsystem 500 may then utilize this information to adjust the magnitude ofthe actuation profile (i.e., to adjust the commanded cable positionPos_(peak)) to compensate, in the following stride, for any differencebetween the desired and actual force delivered during the precedingstride. The actuation magnitude would increase if the actual peak forceof the preceding stride failed to reach the desired peak force for thatstride, and would decrease if the actual peak force of the precedingstride exceeded the desired peak force for that stride. The controlsystem may determine a corresponding cable position according to theequation (2):

$\begin{matrix}{{{Cable}\mspace{14mu}{Pos}_{{Current}\;{Stride}}} = {{Cable}\mspace{14mu}{Pos}_{PrevStride} \times \frac{{Peak}\mspace{14mu}{Force}_{{Desired},{PrevStride}}}{{Peak}\mspace{14mu}{Force}_{{Actual},{PrevStride}}}}} & (2)\end{matrix}$

In another embodiment, control system 500 may instead adjust the forcein real-time by monitoring real-time force feedback from load cells 410and adjusting cable position in a corresponding manner in real-time.

A similar force-based position control algorithm to automaticallycalibrate the system to a given user. In particular, control system 500,at the outset of operation, may ramp-up the forces to the desiredlevels, thereby ensuring proper assistance independent of factors thatmay vary amongst users, such as body shape, body build, how the suitfits, individual comfort preferences, etc. Load feedback, in variousembodiments, may also be used by the controller to monitor the forcesbeing applied to other joints and to account for any asymmetries thatmay need to be corrected.

Additionally or alternatively, in various embodiments, control system500 may utilize a power-based position control approach to determineappropriate cable position for delivering a desired amount of powerduring a full gait cycle. In particular, control system 500 may firstdetermine an actual integral power delivered by the suit during thepreceding cycle. This may be accomplished, in an embodiment, bymeasuring the angular velocity of the joint and the force generated inexosuit system 200 throughout the preceding cycle, and integrating theproduct according to the equation (3):

$\begin{matrix}{{{Integrated}\mspace{14mu}{Power}} = {\frac{\int_{{tstep}\_{start}}^{{tstep}\_{end}}{\tau_{suit}*\omega_{joint}{dt}}}{{step}\mspace{14mu}{duration}}\tau_{suit}*\omega_{joint}}} & (3)\end{matrix}$

It should be noted that the sign to the torque produced by the actuationof exosuit 200 is known due to the fact that tensile forces alone aregenerated therein. Control system 500 may then compare this measuredintegral power to the desired integral power to be delivered during thepreceding cycle. This information, in turn, may be used to adjust thecable position for the current stride in the event the integrated powerdelivered during the preceding stride fell short of or exceeded thedesired amount of power to be applied during the preceding stride. Suchan adjustment, in an embodiment, may be made according to the equation(4):

$\begin{matrix}{{{Cable}\mspace{14mu}{Pos}_{{Current}\;{Stride}}} = {{Cable}\mspace{14mu}{Pos}_{PrevStride} \times \frac{{Integral}\mspace{14mu}{Power}_{{Desired},{PrevStride}}}{{Integral}\mspace{14mu}{Power}_{{Actual},{PrevStride}}}}} & (4)\end{matrix}$

Of course, it should be recognized that adjustments to cable positionneed not follow the proportional relationship shown in equation (4), andone of ordinary skill in the art will recognize other suitablerelationships for iteratively adjusting cable position to deliver adesired integral power.

The power-based position control approach explained above may be used inconnection with embodiments of exosuit system configured to control onlyone of positive or negative power assistance. In order to independentlycontrol both positive and negative power assistance, embodiments ofcontrol system 500 may utilize another power-based position controlapproach in which cable position is determined based on separateintegrations of positive and negative power portions of the motion.

In particular, the actual power delivered by exosuit system 100 may becalculated from the measured ankle speed and the force measured by theload cell, and integrated respectively within positive- andnegative-power intervals and normalized by the stride time. This can besummarized in equation (5a) and equation (5b):

$\begin{matrix}{{{Integrated}\mspace{14mu}{Negative}\mspace{14mu}{Power}} = {{\frac{\int_{{tint}\_{start}}^{{tint}\_{end}}{\tau_{suit}*\omega_{joint}{dt}}}{{step}\mspace{14mu}{duration}}\omega_{joint}} < 0}} & \left( {5a} \right) \\{{{Integrated}\mspace{14mu}{Positive}\mspace{14mu}{Power}} = {{\frac{\int_{{tint}\_{start}}^{{tint}\_{end}}{\tau_{suit}*\omega_{joint}{dt}}}{{step}\mspace{14mu}{duration}}\omega_{joint}} > 0}} & \left( {5b} \right)\end{matrix}$

In equation (5a) and equation (5b) it should be noted that, to calculatethe Integrated Negative Power, the initial time t_(step_start)corresponds to the detection of a heel strike, while the terminationtime t_(step_start) corresponds to the first time at which ω_(joint)≥0.In equation (5b) it should be noted that, to calculate the IntegratedPositive Power, the initial time t_(int_start) corresponds to thetermination time t_(int_stop) for the calculation of negative power,while the termination time t_(int_stop) corresponds to the time whenω_(joint)<0.

Control system 500 may then adjust the commanded position amplitudelevel of the cable on a step-by-step basis using the two powerintegration values. To control the negative and the positive powerrespectively, control system 500 may be configured to start pullingcable 320 at the onset of the negative power interval of the motion. Bydoing so, the negative power for the next stride can be controlled byadjusting the level of pretension, while the positive power can bechanged by controlling the level of active force. For example, if thenegative power integration during the previous stride was less than thedesired, the controller would increase the holding position of the cableto increase the pretension for the next stride; on the other hand, ifthe actual positive power for the previous stride was greater than thedesired value, the controller would reduce the amplitude of the cableposition to decrease the active force for the next stride. Such anadjustment, in an embodiment, may be made according to the equation (6a)and equation (6b):

$\begin{matrix}{{ActiveCabPos}_{CurStride} = {{ActiveCabPos}_{PrevStride} \times \frac{{Integral}\mspace{14mu}{{Pos} \cdot {Power}_{{Desired},{PrevStride}}}}{{Integral}\mspace{14mu}{{Pos} \cdot {Power}_{{Actual},{PrevStride}}}}}} & \left( {6a} \right) \\{{PretenCabPos}_{CurStride} = {{PretenCabPos}_{PrevStride} \times \frac{{Integral}\mspace{14mu}{{Neg} \cdot {Power}_{{Desired},{PrevStride}}}}{{Integral}\mspace{14mu}{{Neg} \cdot {Power}_{{Actual},{PrevStride}}}}}} & \left( {6b} \right)\end{matrix}$

Both force-based position and power-based position control approachesmay further provide a useful way to compensate for different fits in theexosuit (e.g., due to variations in user build), for changes in the suitduring operation (e.g., suit components drifting on the body, gaitmodifications), and for varying friction and dampening properties in theactuating element (e.g., cable) depending on how they are routed (e.g.,losses due to bending and stretching).

In yet another embodiment, control system 500 may perform “power-basedforce control”. The control method would act similarly to what describedin the previous paragraphs, but would control the force level during thepretensoning and the active phases of the gait instead than the cableposition.

The control method will track a desired power profile in real-timeduring locomotion for a given joint. Control system may calculate inreal-time the required force at the current point in the gait cycle bydividing the target power value by the speed of the joint which will bethe input target to the low-level force control. The low-level controlwill then track the force that the system delivers to the joint by usingreal-time feedback from the loadcell or any other force-sensing systemor force-estimation method.

Desired Peak Force or Desired Integral Power

The level of assistance, in various embodiments, may be adjusted eitherby the user or by the control system 500 to tailor the level ofassistance to the wearer, to the application or to a combination of bothfactors. Examples of situations or combinations of situations in whicheither the user or the controller 500 would regulate the level ofassistance include: tailor assistance to different users based on bodymass and height, generally speaking subjects with higher mass and heightwill require higher assistive levels to get the same benefits. Theprimary activity or task to be performed by the user may be a factor indetermining an appropriate force magnitude to be delivered by theexosuit system 100. For example, a user or the control system 500 maydecide to regulate the level of assistance either to save battery or touse more battery when the wearer needs it most. In another example, auser or the control system may decide to regulate the level ofassistance either to save battery or to use more battery when the wearerneeds it most. Different activities such as walking at a fast speed andwalking up hill or carrying heavier loads may benefit more from higherassistance than other less strenuous activities, Moreover, level ofassistance may be set to a lower value when using the device for thefirst time and progressively increase the magnitude as user becomestrained.

Desired peak force F_(peak) may, in various embodiments, be apredetermined value set as a baseline in the control system. In anembodiment, the baseline peak force may be preset. In an embodiment, theuser may be able to preselect, or select while in use, a baseline peakforce. The selection process by user may be implemented such that a userdirectly enters a baseline peak force into control system that ispreferred for a given activity or that feels comfortable to user orindirectly select a baseline peak force via selection of an operationalmode (e.g., low, medium, high assistance), entry of one or moreparameters (e.g., a exosuit user's weight, predefined individualsettings) and/or other indirect selections.

Desired peak force F_(peak) may, in various embodiments, may beinfluenced by biological moments acting on the joint to be assisted. Forexample, as body weight increases, biological moments acting on the bodyjoints typically increase for a given activity. As such, it may bebeneficial to adapt the amount of assistive peak force being applied tovarious joints to account for these variations in biological moments.Similarly, loads carried by the user, including that of the soft exosuititself, may also affect biological moments and can be accounted for.

Referring to FIG. 17A, FIG. 17B, and FIG. 17C and FIG. 18A, FIG. 18B,and FIG. 18C, control system 500 may be configured to adapt the desiredpeak force to account for spatial-temporal factors, such as locomotive(e.g.) walking speed, that also affect biological moments acting on thejoint. As shown in FIG. 17A and FIG. 18A, as locomotive speed increases,the peak magnitude of the physiological power exerted on the hip (inparticular, that associated with hip extension) and the peak magnitudeof the physiological power about the ankle (specifically at ankleplantarflexion) generally increase. The same is often true forspatial-temporal gait variables associated with other locomotiveactivities, such as running, pedaling, etc. For simplicity, the presentdisclosure will refer to walking speed as an exemplary spatial-temporalgait variable; however, it should be understood that the systems andmethods disclosed herein for adapting assistance may be similarlyapplied based on other such spatial-temporal variables. For example, thesystems and method disclosed herein may provide adaptive assistance forstep length, stride length, walking cadence (also known as walkingfrequency) and other spatial-temporal variables.

Referring to FIG. 17B and FIG. 18B, adjustments can be applied, invarious embodiments, in the form of a multiplier. In variousembodiments, this factor may be tailored to adjust the peak assistiveforce or power delivered by the soft exosuit to a level proportionalwith the physiological moments and powers acting on the user's joint atthat walking speed. As configured, exosuit system 100 may serve tosubstantially reduce the effect of, cancel out, and even overcome thesenatural forces, and thereby, reduce user fatigue, depending on thedesired application. As shown in FIG. 17B and FIG. 18B, the multipliersassociated with hip and ankle assistance may increase substantiallylinearly with walking speed, similar to the way physiological momentsincrease on these joints with walking speed as depicted in FIG. 17A andFIG. 18A.

The adjustment factor, in an embodiment, may be applied to the baselinepeak force to be delivered by exosuit system 100 to a correspondingjoint. FIG. 17C and FIG. 18C depict, for illustrative purposes only,some example adjusted peak forces that may be applied to the hip andankle joints respectively, as adjusted by the multipliers of FIG. 17Band FIG. 18B. These graphs are based on the assumption that the controlsystem is configured to provide a baseline peak force of about 200 N tothe hip and about 350 N to the ankle, but one of ordinary skill in theart will recognize that these are just exemplary baseline forces, andthat any suitable baseline force may be adjusted by any suitablespatial-temporal factor in accordance with the present disclosure. Ascan be seen in FIG. 17B, for example, a slower walking speed of about0.5 m/s results in about a 0.4 hip multiplier, which reduces thebaseline peak force of 200 N to an adjusted peak force of about 80 N atthat walking speed as shown in FIG. 17C. Similarly, as can be seen inFIG. 18B, a slower walking speed of about 0.5 m/s results in about a 0.4ankle multiplier, which reduces the baseline ankle peak force of about350 N to an ankle peak force of about 140 N at that walking speedaccording to the ankle force profile as shown in FIG. 18C. On the otherhand, at a faster walking speed of about 1.75 m/s, for example, the hipand ankle peak force modifiers may be about 1.4 as shown in FIG. 17B andFIG. 18B, which increases the respective baseline peak forces from about200 N and about 350 N to adjusted peak forces of about 280 N and about490 N, respectively, as shown in FIG. 17C and FIG. 18C. While theexemplary multipliers provided in FIG. 17B and FIG. 18B are depicted asincreasing substantially linearly with locomotive speed, it should berecognized that multipliers need not follow a linear relationship andmay be defined in any suitable manner

Referring to FIG. 19A and FIG. 19B, control system 500 may be configuredto estimate a locomotive speed (e.g., walking speed, running speed,etc.) of the user for use in correspondingly adjust the magnitude of theforce or power profile as described above. Referring to FIG. 19A,walking speed, in an embodiment, may be estimated, in part, by using hipangle measurements determined from the IMUs. In particular, thesemeasurements can be used to define a range of motion Θ of the user'ships in the sagittal plane, as shown in FIG. 19A. The length l_(step) ofthe user's step can then be estimated as a function of leg lengthl_(leg) and hip range of motion Θ in the sagittal plane, according tothe following equation (7):l _(step)=2*l _(leg)*sin θ/2  (7)Leg length l_(leg), in an embodiment, may be a constant variable that iseither measured or estimated. For example, the control system 500 mayassume a representative value based on the average leg length of atypical user, or may be configured such that a user may input his/herestimated or measured leg length before starting the system.

Still referring to FIG. 19A, walking speed V_(walking) may then beestimated as a function of step length l_(step) and step time t_(step)(i.e., time passing between steps), according to the following equation(8):

$\begin{matrix}{V_{walking} = \frac{l_{step}}{t_{step}}} & (8)\end{matrix}$

Step time t_(step), in an embodiment, may be measured as a time periodbetween heel strikes or any other gait event. Referring to FIG. 19A,step time may be measured as a time period between the hip reaching amaximum flexion angle during two subsequent gait cycles. The IMUs,gyroscopes, or any other suitable sensor arrangement(s) may beconfigured to detect heel strike or other gait events as describedabove. Step time t_(step) could then be calculated by subtracting thetime of the previously detected heel strike or other gait event from thetime of the most recently detected one. Of course, step time may bemeasured or estimated according to any other suitable manner known inthe art.

Referring to FIG. 19B, testing was performed to validate this approachto estimating walking speed of a user. The solid line depicts the outputof the speed estimation method, and the dashed line depicts walkingspeed as measured by an instrumented treadmill on which the user walked.As shown in FIG. 19B, the control algorithm may be able to process anumber of confounding factors, such as trunk movements and changes instep length.

Of course, it should be recognized that an appropriate force magnitudeto be generated in soft exosuit 200 for providing motion assistance to auser's joint(s) may be determined according to any number of factorssuited to a given application, and that the present disclosure shouldnot be limited to any one or combination of those examples listed above

Assistance Timing

In order to tailor assistance to the current motion of the joint and toprovide a natural assistance that adapts to different locomotionactivities and to the way different users walk, control system 500 maybe configured to utilize inputs from various motion sensors 420 and/orgait event sensors 430 positioned on or near the body, as previouslydescribed, to determine how user moving and, in turn, determine theappropriate timing for the assistance. To that end, control system 500may monitor in real-time measurements of joint motion and estimate thetime in which the underlying muscles and tendons are performing work soas to start the assistance at the right time. Such measurements, or acombination thereof, may serve as triggers for the commencement ofactuation (“initiation triggers”).

Initiation triggers may vary depending on the given application orlocomotive activity. In one embodiment, the detection of a particularjoint movement event may serve as an initiation trigger. In particular,it may be the case that a motion to be assisted typically starts at aparticular event such as when a joint angle reaches a maximum value orwhen the joint changes direction of movement, and thus control system500 may be configured to interpret such a detection as an initiationtrigger. In another embodiment, the detection of the joint havingreached a particular angular velocity may serve as an initiationtrigger. For example, in some applications, it may be desirable only toassist joint motion when the joint is moving above or below a thresholdspeed, as indicated by the magnitude of the measured angular velocity).In other applications, it may be desirable to provide assistance whenthe joint is rotating in a particular direction, as indicated by thesign of the measured angular velocity. It should be recognized thatmeasurements of joint angle may be used in a similar manner (e.g., bycalculating angle derivative and the like to yield velocity-like and/oracceleration-like measurements). In yet another embodiment, thedetection of a combination of joint angle(s) and angular velocity(s) mayserve as an initiation trigger. For example, in some applications, itmay be desirable to provide assistance part-way through an extensionmotion—here the initiation trigger may be the detection of a combinationof a particular angle representative of the start of the portion of theextension motion to be assisted and an angular velocity having a sign(i.e., + or −) associated with extension motion (as opposed to theopposite sign, which may be indicative of an opposite flexion motion,for example).

In some applications, it may be desired to provide assistance to thejoint only when the joint motion coincides with a particular motion orcombination of motions of other parts of the body, and/or with anotherevent associated with motion of the body. For example, in variousembodiments, control system 500 may be configured to increase leg jointassistance at times when the foot is in contact with the ground. In thisway, assistance may be tailored to those motions serving to propel theuser forward, thereby improving efficiency. In such cases, an initiationtrigger may comprise, in addition to the detection of associatedindications of joint motion, the detection of some indication that thefoot is in contact with the ground. In an embodiment, one such detectionmay be that of a heel strike. Control system 500 may be configured todetect such an event from the measurements gathered from one or more ofsensors 430, as later described in more detail in the context ofembodiments of the control system directed to ankle assistance. Ofcourse, if assistance is to be provided based on the motion of otherjoints, control system may be configured to monitor the motion of thoseother joints and, in turn, detect one or more triggers necessary toinitiate assistance of the joint at issue.

Assistance Duration

Control system 500 may further utilize joint motion measurements todetermine when to cease providing active assistance to the joint.

In various embodiments, control system may be configured to terminateassistance when the joint reaches a predetermined angle or rotationalvelocity. To that end, in an embodiment, control system may monitorreal-time angle measurements and terminate actuation when the desiredangle is reached. Similar processes may be utilized to estimateassistance duration in some embodiments featuring different triggers forterminating assistance, such as when it may be desired to terminateassistance when the joint motion ceases or changes direction. In anembodiment, control system may indirectly determine assistance durationin similar fashion by monitoring real-time rotational velocitymeasurements and terminating actuation when the measured angularvelocity reaches zero.

The control system, in various embodiments may monitor real-timemeasurements of joint angle, velocity, and/or other motion-relatedmeasurements to detect gait related events and decide assistive profileas well as when motion assistance should be initiated, maintained orterminated. Control system may use this information to estimate when theunderlying muscles and tendons are creating torques at the joint and toinitiate the assistance at the right time.

The controller may then drive motor to a first actuated positionsuitable to generate the corresponding force magnitude. Control systemmay continue to monitor the real-time measurements of the joint motionand estimate, based on measured rotational velocity or angle derivativewhen the biological muscle and tendons stop providing forces to thejoint in the direction where the system cable can provide actuation sothat the system will become transparent (terminate actuation) and nothinder the muscles acting in the opposite direction.

Alternatively control system 500 may determine when to terminateassistance by monitoring the assistive force generated exosuit 200 todetect a change in force of a predefined value or a predefinedpercentage. Such a change, in various embodiments, may indicate that thejoint has progressed through the motion to be assisted. For example, inan embodiment where the cable is maintained at a constant positionduring active force generation, forces build and/or fall off as thejoint continues to move. Control system 500 may be configured to detectthe change in force and terminate actuation once the force has reached apredetermined threshold so as to not interfere with subsequent motion.Such may be the case, as later described in more detail, during thestance dorsiflexion phase of ankle motion (i.e., detect a rise inpretension force applied during stance dorsiflexion and move the cablein an appropriate manner to assist the subsequent stance plantarflexionmotion); the exact same effect is applicable to hip extension assistance(i.e., detect a drop off in force as the leg approaches vertical) andmay be applicable to other joints.

As such, control system may identify from the desired force profile acorresponding force magnitude to be produced at each point in the jointmotion, and either move the cable to a corresponding position or commanda desired force. Such a control system will control when the actuationstarts and ends in real-time therefore adapting to the way differentindividuals walk or to different activities so that assistance isprovided when it will benefit the wearer and the assistance isterminated so that system doesn't generate any force in any othersituation.

As further described in more detail below, control system 500 mayinstead be configured to estimate or otherwise predict the duration ofthe joint motion. The estimated duration of the joint motion to beassisted (“joint motion duration”) may then, in turn, be used todetermine an appropriate duration for which exosuit system 500 may beactuated to assist the joint (“assistance duration”). Such an approachmay allow for control system 500 to generate, prior to commencingactuation, a suitable actuation profile according to which soft exosuitmay be actuated without further need to monitor real-time measurementsof joint motion to detect a termination trigger indicative of the end ofthe motion.

Control system 500, in other such embodiments, may be configured toutilize joint motion measurements from a preceding motion cycle toestimate the duration of an upcoming, corresponding motion in thecurrent motion cycle. Such an approach may be particularly useful forassisting repetitive motions, such as the locomotive motions of legjoints as a user walks, runs, etc. In various embodiments, such anapproximation may closely predict the duration of the current motiongiven the cyclical nature of the activity, and result in an actuationprofile (later described) suitable closely match the desired assistance.

Consider, as an illustrative example, a walking assistance applicationin which control system 500 is configured to actuate exosuit 200 to helppull the leg back from a flexed position after the forward swing phase,a motion that typically spans about 30% of an average gait cycle.Control system 500, in an embodiment, may first calculate a duration ofthe preceding gait cycle (also referred to herein as stride time) fromjoint motion or other measurements taken during that preceding cycle,and then estimate the upcoming joint motion duration during the currentcycle as 30% of stride time of the preceding stride time. In anotherembodiment, control system 500 may estimate upcoming joint motionduration in like manner; however, rather than assuming that the motionspans about 30% of an average gait cycle, control system 500 may insteaddetermine the actual percentage over which the motion spans during aplurality of preceding gait cycles to provide a first approximation thatthe controller can later on correct by using real-time measurements fromintegrated sensors. In particular, control system 500 may be configuredto utilize joint motion measurements taken during preceding gait cyclesto identify when the joint motion started and ended, and then relatethem to the respective stride times of those cycles to determine jointmotion duration percentages for each preceding cycle. These percentagesmay, in an embodiment, be averaged to provide a more customized basisfor estimating the duration of the joint motion to be assisted duringthe current gait cycle.

Stride time, in various embodiments, may be determined in any suitablemanner utilizing one or more of sensors 400. In an embodiment, stridetime may be calculated as the time passing between consecutivedetections of characteristic events that occur each cycle. For example,control system 500 may measure, and define as stride time, the timepassing between consecutive heel strikes for a given leg. As anotherexample, control system 500 may measure, and define as stride time, thetime passing between consecutive detections of maximum hip flexion orextension. Methods for detecting heel strikes and maximumflexion/extension angles are provided in more detail later in thisdisclosure, as well as methods for determining a time interval passingbetween consecutive such detections.

It should be recognized that assistance duration may be determined fromsuch sensor measurements in any number of suitable ways for a givenapplication, and that the present disclosure is not intended to belimited to only those illustrative embodiments set forth above.

Generating an Actuation Profile

As previously described, control system 500 may be configured todetermine a desired peak force to be generated by exosuit system 100, aswell as to identify when the joint motion to be assisted begins and toestimate the duration of the joint motion. In various embodiments,control system 500 may utilize this information to generate an actuationprofile according to which exosuit system 100 may be actuated to deliverthe desired motion assistance to the joint.

Control system 500, in various embodiments, may be configured togenerate an actuation profile in advance of the start of the motion. Inone such embodiment, control system 500 may estimate joint motionduration (and thus assistance duration) based on the duration of asimilar motion during a previous cycle alone. On one hand, such anapproach may not take into account any variation in when the jointmotions started/will start within their respective cycles—that is,should the current cycle joint motion start later in the current cyclethan when the previous cycle joint motion started in the previous cycle,then the estimated duration may be somewhat longer than the actualduration of the current cycle joint motion, and vice versa. On the otherhand; however, such an approach may be less complex than others andpotentially afford control system 500 some time to make preparations forthe upcoming actuation. It should be recognized that control system 500,in another embodiment, could be further adapted to account for theaforementioned potential variations by modifying the duration reflectedin the actuation profile at or slightly after the time the initiationtrigger is detected.

In various other embodiments, control system 500 may be configured togenerate an actuation profile at or slightly after the detection of aninitiation trigger, based on an estimation of joint motion duration thattakes into account the actual start time of the motion. In one suchembodiment, control system 500 may estimate joint motion duration (andthus assistance duration) at this time utilizing one of theaforementioned methods, or any other suitable method.

Example Control System for Assisting Cyclical Hip Joint Motion

FIG. 20 is a schematic diagram of an embodiment of a hip controlarchitecture that initiates assistive torque to the hip whilemaintaining a robust force performance. The hip control system 600 maybe configured to provide assistance to the hip joint to assist withcyclical extension motions during locomotive activities such as walking,running, and jumping. To that end, various embodiments of hip controlsystem 600 may be used in connection with the exosuit of FIG. 12A or thefirst module the exosuit 200 of FIG. 12E, and with any otherconfiguration suitable for delivering a torque to assist an extensionmotion of a user's hip. The hip control architecture may comprise atleast portions of a soft exosuit 200, one or more inertia measurementunits (IMU) or other suitable sensor 420 arrangements for measuring hipflexion and rotational velocity, one or more load cells 430, and controlsystem 600. Pulling the cable 320 between waist anchor 212 and thighanchor 214 of the soft exosuit 200 may generate the assistive force thatcreates torque about the hip joint.

In one or more embodiments, the IMU may be attached to the user's thigh(or any other suitable location for taking the prescribed measurements)and configured to measure human body motions, in particular, the thighangle, and to estimate the hip flexion angle. Although FIG. 20 depictsthe use of only an IMU, embodiments of the hip control system 600 mayuse other types of kinetic and/or kinematic sensors, such aspotentiometers and accelerometers, and/or include additional sensors.The load cells may be force sensors 410, such as transducers, that areconfigured to measure tensile forces generated in exosuit 200.Embodiments of the hip control system 600 may use other types of forcesensors 410 as an alternative or in addition to the load cells.

One advantage of the hip control system 600 is the ability to applybeneficial motion assistance independent of the biomechanics task athand. Many activities, such as walking, running, jumping, and climbingstairs, share similar sequences of joint motions, and muscle groupsassociated with these motions may be active during similar periods. Assuch, many such motions share similar initiation triggers, regardless ofthe locomotive activity being performed.

The starting point of the biological hip extension torque can varywidely between different subjects and activities. This large variabilityintroduced the need to determine the onset of the applied assistance tobe concurrent with the onset timing of hip positive power rather thanestimated based on the timing of heel strike. From a biomechanical pointof view, during locomotion, hip extensor muscles start to activateslightly before the hip reaching its maximum flexion angle. From a closeexamination of kinetic and kinematic data of human subject data, wefound that the hip joint moment reaches its maximum flexion roughly insync with the starting point of the positive hip power. Following thisrationale, we decided to use maximum hip flexion as a suitable gaitevent to determine the onset timing of the hip extension assistance.

Assistance, in various embodiments, may be provided when the musclesassociated with a motion are most active. For example, hip extensormuscles, such as the hamstring and gluteus maximus, are typicallyactivated in most locomotive activities to assist with an extensionmotion. In particular, these muscles may be most active following apreceding flexion motion, to assist with gait by pulling the user's hipover its forwardly-extended leg. As shown in FIG. 21A, in a typical gaitcycle, a maximum hip flexion occurs at about 85% of the gait cycle(e.g., terminal swing of the gait cycle). The electromyography (EMG)hamstring and EMG gluteus maximus graphs in FIG. 21B and FIG. 21Cillustrate the hamstrings and gluteus maximus are active after reachingthe maximum hip flexion (e.g., about 91% of the gait cycle for loadedwalking) and become inactive at about 30% of the gait cycle.

As such, it may be beneficial to provide assistance to the hip extensormuscles upon the detection of the hip joint having reached a maximumflexion angle, and to continue assistance until about the time in theuser's gait when the hip joint has been restored to a substantiallyvertical angle (i.e., leg perpendicular to the ground). FIG. 22A depictsan exemplary application of force during a user's gait to assist withthis motion, and FIG. 22B shows a corresponding thigh angle (relatableto hip angle, as previously described) of the user to demonstrate timingin terms of biomechanics of the leg.

To that end, in various embodiments, hip control system 600 may beconfigured to monitor real-time joint motion measurements to detect thestart of the aforementioned hip extension motion—that is, when the hipjoint reaches a maximum flexion angle. Hip control system 600 may beconfigured to accomplish this utilizing any of the exemplary methodspreviously described, or any other suitable method. For example, hipcontrol system 600, in an embodiment, may monitor real-time measurementsof hip angular velocity to detect a sign change associated with the endof a hip flexion motion and the beginning of a subsequent hip extensionmotion. In another embodiment, hip control system 600 may in like mannermonitor real-time measurements of hip angle to detect when hip angleceases an increase in magnitude associated with a flexion motion andbegins to decrease in magnitude at the start of the subsequent extensionmotion. As previously noted, this may be about 85% of the gait cycle.

Hip control system 600 may be further configured to estimate a durationof the joint motion, and thus a duration for which assistance should beprovided. Hip control system 600 may be configured to accomplish thisutilizing any of the exemplary methods previously described, or anyother suitable method. To that end, hip control system 600, in anembodiment, may be configured to estimate the current stride time of theuser to estimate how long it will take for the hip joint to reach theend of the motion to be assisted, as previously described. As previouslynoted, the end of the hip extension motion to be assisted—that is, whenthe hip angle is substantially vertical to the ground—may be about 30%of the gait cycle for loaded walking overground. Stride time may beestimated, in various embodiments, utilizing stride time(s) from apreceding cycle(s). In one such embodiment, hip control system 600 maybe configured to determine stride time as the time elapsed betweenconsecutive detections of the estimated maximum hip flexion angle.

Hip control system 600, in various embodiments, may be configured todetermine the desired peak force, and associated cable position forgenerating it, utilizing any of the exemplary methods previouslydescribed, or any other suitable method. For example, hip control system600 may be programmed to deliver a baseline peak force of about 300N inthe exosuit to assist the hip motion. This baseline force, of course,could be adjusted to account for any number of factors such asspatial-temporal factors (e.g., locomotive speed) as previouslydescribed in the context of FIG. 17A, FIG. 17B, and FIG. 17C, or userweight/loads, amongst others. Hip control system 600 may then utilizethe force-based position control algorithm previously described, or anyother suitable method, to determine appropriate cable position(s) fordelivering the desired peak force. For example, hip control system 600,in an embodiment, may first determine the actual peak power generated inthe suit during the preceding cycle, and then determine the cableposition for the current cycle by multiplying the previous cycle cableposition by the ratio of the currently desired peak force and themeasured peak force from the preceding cycle, as per equation (2).

Additionally or alternatively, in various embodiments, hip controlsystem 600 may then utilize a power-based position control algorithm todetermine an appropriate cable position for delivering a desiredintegral power to the hip joint, as previously described. For example,hip control system 600, in an embodiment, may first determine an actualintegral power delivered by exosuit system 100 to the hip joint duringthe preceding cycle as a function of the forces generated and angularvelocities of the hip joint throughout the assistance provided duringthe preceding cycle. Then, hip control system 600 may then determine thecable position for the current cycle by multiplying the previous cyclecable position by the ratio of the currently desired integral power andthe integral power measured during the preceding cycle, as per equation(4).

FIG. 23B depicts representative force for assisting the hip jointextension motion. FIG. 23C depicts actuation profiles for assisting thehip joint extension motion. FIG. 23A depicts correspondingrepresentative hip angle measurements measured by the IMU.

These profiles may be generated by the soft exosuit for the hip controlarchitecture as described regarding FIG. 20. The trajectory generationin the hip control architecture unit may be adapted to generate actuatortrajectory that produces a desired force through pulling cable 320throughout the period of assistance. The start time of the actuation(e.g., a rising edge of the trapezoidal profile) is set to the estimatemaximum hip flexion angle from the IMU as previously described. In anembodiment, the magnitude of the trapezoidal profile may be modified toaccount for any difference in commanded magnitude and actual magnitudeexperienced during the previous stride, as previously described withreference to force-based position control. In particular, the hipcontrol system 600 may monitor the maximum assistive peak force (orintegral peak power) of the last stride, and adjust the magnitude of thetrapezoidal profile for the current stride accordingly. The magnitudewould increase if the assistive peak force (or integral peak power) oflast stride did not reach the desired peak force range (or integral peakpower range) and would decrease if it exceeds the peak force range (orintegral peak power range). The release time of the actuation (e.g.,falling edge of the trapezoidal profile) is about 40% of the gait cycle,which is calculated by the stride time unit using the last stride timedetected from IMU. The trapezoidal profile may be automatically adjustedfor one or more strides to adapt the environment changes and maintainthe desired force performance.

Control system 600 may also generate an actuation profile using the“generateProfile” module by accounting for the stride time, measuredforce, and desired force. The actuator/controller unit may receive andstore the measured force into memory (e.g., buffer) at pre-determinedfrequency (e.g., 100 Hz). Using the measured force from one moreprevious gait cycles, the actuator/controller unit may generate aposition profile based on the duration of the previous stride time, thedesired force and the previously measured force. The measured force maybe based on calculating the maximum assistive peak force of the laststride.

The actuator/controller unit may implement the “generateProfile” moduleto correct the position amplitude of the assistive force using themeasured force (e.g.,positionHipAmplitude=positionHipAmplitude*desired_force/measured force).In an embodiment, the “generateProfile” module may generate the positionprofile as a trapezoidal position profile with a specified amplitude andduration of the stride time. The falling edge of the trapezoidalposition profile, or release of the actuation, may occur at about 40% ofthe gait cycle. As an example of a simple profile. the“generateTrapezoid” module may produce a trapezoid as the positionprofile with a rising edge that has a slope of “s1” at about 85% gaitcycle and a falling edge with a slope “s2” at about 40% gait cycle. Thefalling edge of the trapezoidal position profile may be adjusted bysetting the “percentageOff” variable.

TABLE 2 1.   global activationCurrent = FALSE; 2.   global doublepositionHipAmplitude =    DEFAULT_HIP_MAGNITUDE 3. 4.   booleanisThisMaximum(angle[buffer],angle_derivative[buffer]) { 5.   if ( abs(angle_derivative [END]) < ANGLE_DER_THRESH && angle_derivative[END−1] >0) 6.     return TRUE 7.    else 8.     return FALSE 9.   } 10. 11. double calculateMaximum(data[buffer]) { 12.   double temp_max = 0; 13.  for(i = 0; i<data.length; i++) 14.    temp_max = max(temp_max,data[i]); 15.  } 16. 17.  double[buffer] generateProfile(stride_time,measured_Force, desired_Force){ 18.   positionHipAmplitude =positionHipAmplitude * desired_Force/measured_Force 19.  positionProfile[buffer] = generateTrapezoid(slope1, slope 2,positionHipAmplitude, stride_time, 0.4); 20.   return positionProfile;21.  } 22.  trapezoidOutput[buffer] generateTrapezoid(slope1, slope2,posAmplitude, stride_time, percentageOff) { 23.  returntrapezoidOutput[buffer]; 24.  } 25. 26.  void loop( ) { 27.  [angle[buffer], angle_derivative[buffer]] = readHipAngle( ); 28.  Force[buffer] = readHipForce( ); 29.   if (activationCurrent == FALSE&& isThisMaximum(angle, angle_derivative) ){ 30.    stride_time =angle.length; 31.    measured_max_Force =calculateMaximum(force[buffer]); 32.    position_profile =generateProfile(stride_time, measured_Force, desired_Force); 33.   activationCurrent = TRUE; 34.    counter = 0; 35.  } 36.   if(activationCurrent == TRUE && counter <     position_profile.length){   commandHipMotor(position_profile(counter)); 37.    counter =counter + 1; 38.  }

The acutation plot in FIG. 23C depicts the actuator activates at about91% of the gait cycle or after reaching the maximum hip flexion, toapply a desired assistive force. Note that as stated previously sincethe actuation initiation is based on real-time detection of a maximumhip flexion angle, this percentage is not fixed but rather tailored toeach individual or to each activity, this is a significant improvementcompared to the state of the art methods that rely on a fixed actuationprofile as a function of the gait cycle. The actuator continues to applythe desired assistive force until the release time of the actuation,which in FIG. 23C is about 30% of the gait cycle. Recall that the hipcontrol system 600 may receive the thigh angle and thigh rotationalvelocity in real-time from sensors, such as the IMUs, and accuratelyapply one or more actuation profiles based on the thigh angles and thighrotational velocities.

It should be recognized that by determining actuation timing andduration in such a manner, control system 600 may serve to avoidactuating the soft exosuit system in ways that may adversely affect thenatural motion of the hip joint. Stated otherwise, embodiments of hipcontrol system 600 may serve to ensure that assistance is only providedwhen the joint is actually undergoing the motion for which assistance isdesired. This is a significant improvement over existing systems. Forexample, should the user suddenly stop prior to reaching the motion tobe assisted, the initiation trigger will never be detected, andactuation will not occur. In this way, the user will not suffer from anunnecessary actuation of the suit while standing still after a suddenstop, for example. Since for soft exosuits, the system inertia andinterference with joints is negligible when the system is inactive or inslack mode, i.e. when the control system pushes out cable to assure thatno tension the cable, the user won't feel any perceivable forces unlessthe system initiates actuation. Other state of the art exoskeletons suchas rigid systems, due to the significant added inertia to the biologicalleg would require control system to track joint movement withoutgenerating forces by using approaches such as force-control rather thanstaying inactive when no forces are desired to the joint to not restrictthe normal motion. As another example, should the user suddenly slowdown, any adverse actuation may be limited only to the duration ofassistance provided—that is, the estimated assistance duration may beslightly longer than the actual joint motion duration, resulting inlonger-than-actually-necessary assistance being provided for that cycle.Of course, hip control system 600 may understand that a significantchange in stride time has occurred, and adjust duration for thefollowing cycle, thereby limiting any adverse effects to the currentcycle alone.

Still further, hip control system 600, in various embodiments, may beconfigured to detect in real-time events that may alter the timing atwhich assistance should be provided. One such situation may arise whenthe user is avoiding an obstacle in its path, such as by stepping over arock or log. When this occurs, the user may flex its hip significantlyfurther than it may during normal locomotion in order to clear theobstacle and step over it.

FIG. 24 is a schematic diagram of an embodiment of a hip controlarchitecture that includes an obstacle avoidance detection unit. Aspreviously described, assistive torque may be provided to the hip asrestorative force that serves to pull the thigh from a flexed (i.e.,raised) state towards an extension (i.e., vertical) state. In anembodiment, the assistive torque to the hip may be applied starting fromthe moment of maximum hip flexion, as detected by the hip controllerand/or IMU. However, it should be noted that in real-world use, the usermay need to deviate from a normal walking pattern to avoid an obstaclein his/her path, such as a rock or a log. In stepping over or otherwisemoving to avoid such an obstacle, the user's hip may hyperflex—that is,flex beyond the maximum flexion angle typically associated with theuser's normal range of motion (ROM) while walking. In such a case, werethe hip controller to initiate hip assistance at the normal time (i.e.,when the typical maximum flexion angle is detected), the soft exosuitmay provide this restorative force at an inopportune time—that is, whilethe user is hyperflexing to step over the obstacle. This may impede themotion of the user rather than assist the user's desired motion.

As such, the hip control architecture may be configured to detect suchobstacle avoidance motions via measurements from the IMU, and inresponse, delay when hip assistance is provided in order to avoid suchimpedance. In particular, referring to FIG. 25A, FIG. 25B, and FIG. 25C,in various embodiments, obstacle avoidance detection may be accomplishedvia real-time monitoring of hip angle data collected by the IMUs versushistorical hip angle data measured over a number of past steps. Inparticular, during normal walking, the hips will have a normal ROM inthe sagittal plane, spanning between a typical maximum flexion angle ofabout 65 degrees and a maximum extension angle of about 140 degrees, asshown by the horizontal boundary lines surrounding the hip angle curvein FIG. 25A. The system may be configured to calculate, as a normalreference of the wearer's hip movements, a moving average of this ROMover a series of previous steps (e.g., over the previous five steps).

Hip angle data can then be monitored in real-time for motion associatedwith obstacle avoidance maneuvers. In particular, as the wearer pullsits knee upwards (i.e., hyperflexes its hip) to swing its leading legover the obstacle, the measured hip angle may significantly exceed themaximum flexion angle associated with the user's normal ROM. This periodof hyperflexion is depicted between about 1.5 seconds (s) and about1.75s in FIG. 25A. Here, hip angle has exceed the flexion boundary ofnormal ROM by nearly 35 degrees, clearly indicating that the user isengaging in a motion that would be impeded by the application ofrestorative force at that time. Of course, any suitable threshold fordetecting an obstacle avoidance motion and delaying the application ofassistive force may be defined. In an embodiment, such a threshold maybe set as a predetermined percentage by which real-time hip anglemeasurement must exceed the maximum flexion boundary of normal ROM. Forexample, obstacle avoidance adjustments may be triggered only when hipangle exceeds the normal flexion boundary by 25%. In an embodiment, sucha threshold may be based on the standard deviation in maximum hip anglemeasurements over the past several gait cycles. For example, theobstacle avoidance algorithm may be triggered when real-time hip anglemeasurements exceed this standard deviation by a predetermined factor,such as two times or more. In an embodiment, the threshold may be afactor of known natural variability in a typical user's gait. Forexample, it is known in the biomechanics arts that a user's ROM may varyby about 3%-about 4% under normal walking conditions.

The obstacle avoidance algorithm could thus be triggered when real-timehip angle measurements exceed this variability by a predeterminedfactor, such as twice or more. One of ordinary skill in the art willrecognize that it may be advantageous to define any such threshold ashigh enough to avoid false triggers, but low enough to ensure that arestorative force is not applied at a time when it may negatively affectthe performance and comfort of the wearer in a significant manner. Asdescribed previously, other state of the art exoskeletons such as rigidsystems would require control system to track joint movement withoutgenerating forces if an obstacle is detected by using approaches such asforce-control rather than staying inactive when no forces are desired tothe joint.

Hip assistance may be delayed for any suitable duration after thedetection of an obstacle avoidance motion. In an embodiment, the system600 may be configured to delay assistance until the hip returns withinthe bounds of normal ROM, as shown in FIG. 25B and FIG. 25C. Inparticular, referring to FIG. 25A, note that in this graph, hip angleexceeds normal ROM flexion boundary at about 1.5s. Hip angle then peaks(i.e., maximum hyperflextion) at about 1.6s, and returns within boundsof normal ROM at about 1.75s. It is at this time, when the hip anglereturns within bounds of normal ROM, that the system commands actuationof a corresponding hip assistance cable (e.g., one connecting a waistbelt and thigh wrap) in the soft exosuit, as shown in FIG. 25C. This, inturn, results in the cable applying a force about the hip, as shown inFIG. 25B. In an embodiment, the system may be configured to delayassistance until the corresponding leg has touched down on the far sideof the obstacle being traversed. This could be determined via detectionof a heel strike by the corresponding leg after hyperflexion. Such anapproach, on the one hand, may provide further assurances that arestorative force is not applied at an inopportune time, but on theother hand, may delay assistance beyond a critical time when it may bedesired—that is, as the wearer uses that leg to pull its body over theobstacle. Of course, the present disclosure is not intended to belimited to any particular duration for which hip assistance may bedelayed upon detection of an obstacle avoidance motion.

Table 3 below is a hip control algorithm that triggers actuation atmaximum thigh flexion, and stops it at the vertical thigh position. Thelow-level control is a position control trapezoidal profile. Themagnitude, which may be the peak position, of the assistance is adjustedevery step based on the peak force measured in the previous step. Thetiming at which the actuation starts is delayed in case of overflexionof the thigh. The magnitude of the assistive force is also adapted basedon the walking speed, weight of the subject.

TABLE 3 1. global activationCurrent = FALSE; 2. global doublepositionHipAmplitude =  DEFAULT_HIP_MAGNITUDE 3. 4. booleanisThisMaximum(angle[buffer],angle derivative[buffer]) { 5.  If ( abs(angle_derivative [END]) < ANGLE_DER_THRESH && angle_derivative[END−1] >0 ) 6.   return TRUE 7.  else 8.   returnFALSE 9. 10.    double calculateMaximum(data[buffer]) { 11.     doubletemp_max = 0; 12.     for(i = 0; i<data.length; i++) 13.      temp_max =max(temp_max, data[i]); 14.    } 15.    double[buffer]generateProfile(stride_time, measured_Force,   desired_Force){ 16.    positionHipAmplitude = positionHipAmplitude *  desired_Force/measured_Force 17.     positionProfile[buffer] =generateTrapezoid(slope1, slope 2,   positionHipAmplitude, stride_time,0.4); 18.     return positionProfile; 19.    } 20.   trapezoidOutput[buffer] generateTrapezoid(slope1, slope2,  posAmplitude, stride_time, percentageOff) { 21. 22.     returntrapezoidOutput[buffer]; 23.    } 24. 25.    desiredForcecalculateDesiredForce(walkingSpeed, weight) { 26.     baselineForce =assistanceFactor * weight *   physiologicalTorqueHipFlexion; 27. 28.    return baselineForce * walkingSpeed / 1.25; 29.    } 30.   walkingSpeed calculateWalkingSpeed(hipAngle, stride_time,  leg_length) { 31.     max_theta = calculateMaximum(IMU_data.hip_angle);32.     return 2 * leg_length * sin(max_theta) / stride_time; 33.    }34.    void loop( ) { 35.     [angle[buffer], angle_derivative[buffer]]= readHipAngle( ); 36.     force[buffer] = readHipForce( ); 37.     if(activationCurrent == FALSE && IsThisMaximum(angle,   angle_derivative)){ 38.      stride_time = angle.length; 39.      walkingSpeed =calculateWalkingSpeed(angle,   stride_time, SUBJECT_LEG); 40. 41.       measured_max_Force =           calculateMaximum(force[buffer]);42.        desired_force =   calculateDesiredForce(walkingSpeed,SUBJECT_WEIGHT) 43. 44.        if (angle > 1.3 * avgMaxHipFlxAngle ){45.           overflxFLag = true; 46.      } 47.      else if 48.      {49.    position_profile = generateProfile(stride_time,   measured_Force,desired_Force); 50.    avgMaxHipFlxAngle =      updateAverages(avgMaxHipFlxAngle, angle); 51.    } 52. 53.     activationCurrent = TRUE; 54.      counter = 0; 55.    } 56.    if( activationCurrent ==   FALSE && overFlxFlag == TRUE && readHipAngle( )<=   avgMaxHipFlxAngle) { 57.    position_profile =generateProfile(stride_time,   measured_Force, desired_Force; 58.   activationCurrent = TRUE; 59.    counter = 0; 60. } 61.     if(activationCurrent == TRUE && counter <   position_profile.length) { 62.     commandHipMotor(position_profile(counter)); 63.      counter =counter + 1; 64.    }

While the preceding description is discussed in the context of providingassistive hip torque via forces associated with activation of thegluteus maximus and hamstring, it should be recognized that a similarcontrol system may be provided for providing assistive hip toque viaforces associated with activation of other leg muscles, such as thequadriceps, in like manner.

In various embodiments, the control system may be configured to utilizehip angle and rotational velocity measurements to provide assistivetorque during periods when the quadriceps are active (albeit in anopposite direction, perhaps by actuating a Bowden cable directed alongthe front of the thigh rather than the rear as described in the contextof FIG. 12B).

Example Control System for Assisting Cyclical Ankle Joint Motion

FIG. 26 is a schematic diagram of an embodiment of an ankle controlsystem 700 that assists the ankle joint during locomotion whilemaintaining a robust performance. The ankle control system 700 may beconfigured to provide assistive torque to a user's ankle to assist withcyclical ankle plantarflexion motions during locomotive activities suchas walking, running, and jumping. To that end, various embodiments ofankle control system 700 may be used in connection with exosuit systemsof FIG. 12C, FIG. 12D, and FIG. 12E, as well as with any otherconfigurations suitable for assisting a plantarflexion motion of auser's ankle.

Referring to FIG. 27 the exosuit produces moments at the anklesimultaneously with the underlying muscles during 30-60% in the gaitcycle, which extends from one heel strike to the next for a given leg.During this stage of the gait, the calf muscles and tendons push thebody up and forward. Initially, the calf absorbed power by stretching asthe body's center of mass falls downward and forward over the plantedfoot. After around 50% in the gait cycle, this absorbed power isreturned to the body as the tendons and ligaments elastically recoil.The muscles in the calf and hip actively contract to supplement thisreturned power with additional energy.

Control method may behave in a similar way and may allow differentstrategies to absorb and transmit power in this manner as well bydetecting gait events in real-time to estimate when to transition frompower absorption to generation: with the actuators held at a fixedlength initially (pretension force), the exosuit material itselfstretches and the tissue under the suit compresses as the body fallsforward. This induces a tension in the suit and absorbs power from thebody. After the period of biological power absorption, the suit retractselastically, returning the energy to the body. This is supplemented bythe actuators providing an active force starting at the point in thegait cycle in which the biological ankle joint changes from the powerabsorption phase to power generation to propel the body upwards andforward.

Ankle control system 700 generates assistance based at least in part onthe detection of heel strikes and speed-related events within the samestep. As such, the ankle control system 700 may comprise one or moresensors configured to measure angular velocity of the ankle (“rotationsensor”), as previously explained in the context of FIG. 14B. In variousembodiments, the sensors may comprise two or more gyros positioned andconfigured on the exosuit to both detect heel strike and measure anklespeed in real-time.

To that end, in various embodiments, ankle control system 700 may beconfigured to monitor real-time ankle joint motion measurements todetect the start of the stance plantarflexion motion—that is, when theankle first changes direction from stance dorsiflexion motion to stanceplantarflexion motion after heel strike. Ankle control system 700 may beconfigured to accomplish this utilizing any of the exemplary methodspreviously described, or any other suitable method. For example, anklecontrol system 700, in an embodiment, may first monitor real-timemeasurements from the gyros (or the IMUs or other suitable sensor) todetect a heel strike, thus ensuring that the foot is on the ground andundergoing “stance” motion. Ankle control system 700 may continuemonitoring real-time measurements of ankle angular velocity to detect azero-crossing in the measured angular velocity of the ankle, indicatingthat the ankle joint has ceased stance dorsiflexion motion and commencedstance plantarflexion motion.

Ankle control system 700 may be further configured to estimate aduration of the ankle stance plantarflexion motion, and thus a durationfor which assistance should be provided. Ankle control system 700 may beconfigured to accomplish this utilizing any of the exemplary methodspreviously described, or any other suitable method. To that end, anklecontrol system 700, in an embodiment, may be configured to estimate thecurrent stride time of the user to estimate how long it will take forthe ankle joint to reach the end of the motion stance plantarflexionmotion. Similar to the way hip control system 700 may use the hip anglebuffer to determine stride time, ankle control system 700 may use thestance ankle velocity buffer to determine stride time. In particular,because the ankle angular velocity measurements are sampled at a knownfrequency (e.g., 100 Hz), the number of stance ankle angular velocitymeasurements taken between consecutive heel strike detections isdirectly related to the time passing during said period. That is, stridetime can be calculated by dividing the number of stance ankle angularvelocity measurements taken by the sampling frequency. At each detectionof heel strike, stride time may be calculated and the stored stanceankle angular velocity data flushed from memory so that the process maybe repeated during subsequent cycles. Stride time (either that of theprevious cycle or an average of those of a plurality of previous cycles)may then be used to estimate joint motion duration as previouslydescribed.

Ankle control system 700, in various embodiments, may be configured todetermine the desired peak force, and associated cable position forgenerating it, utilizing any of the exemplary methods previouslydescribed, or any other suitable method. For example, ankle controlsystem 700 may be programmed to deliver a baseline peak force of about300N in the exosuit to assist the stance ankle plantarflexion motion.This baseline force, of course, could be adjusted to account for anynumber of factors such as spatial-temporal factors (e.g., locomotivespeed) as previously described in the context of FIG. 18A, FIG. 18B, andFIG. 18C, or user weight/loads, amongst others, as previously described.Ankle control system 700 may then utilize the force-based positionalgorithm previously described, or any other suitable method, todetermine appropriate cable position(s) for delivering the desired peakforce.

Additionally or alternatively, in various embodiments, ankle controlsystem 700 may utilize a power-based position control algorithm todetermine an appropriate cable position for delivering a desiredintegral power to the hip joint, as previously described. Desired powermay be adjusted to account for any number of factors such asspatial-temporal factors (e.g., locomotive speed) as previouslydescribed in the context of FIG. 18A, FIG. 18B, and FIG. 18C, or userweight/loads, amongst others, as previously described.

Ankle control system 700, in an embodiment, may then determine an actualintegral power delivered by exosuit system 700 to the ankle joint duringthe preceding cycle as a function of the forces generated and angularvelocities of the ankle joint throughout the assistance provided duringthe preceding cycle. There are two distinct intervals where thebiological ankle power is negative (30% to 50% of the gait cycle) andpositive (50% to 70% of the gait cycle) during the stance phase. Theintegral positive power and integral negative powers may be calculatedas per equation (5a) and equation (5b), and corresponding active andpretension cable positions may be calculated as per equation (6a) andequation (6b), respectively.

It should be recognized that by determining actuation timing andduration in such a manner, control system 700 may serve to avoidactuating the soft exosuit system 100 in ways that may adversely affectthe natural motion of the ankle joint. Stated otherwise, embodiments ofankle control system 700 may serve to ensure that assistance is onlyprovided when the joint is actually undergoing the motion for whichassistance is desired. This is a significant improvement over existingsystems. For example, should the user suddenly stop during stancedorsiflexion motion, the heel strike and perhaps a subsequent zero anklevelocity will be detected; however a zero-crossing may not occur if theankle does not continue into stance plantarflexion motion. In such acase, the full initiation trigger will not occur, and actuation will notcommence. Similarly, should the user suddenly stop during plantarflexionmotion, the initiation trigger will be detected and actuation maycommence; however, it will cease immediately upon the stanceplantarflexion motion ceasing during the stop. In this way, the userwill not suffer from an unnecessary actuation of the suit while standingstill after a sudden stop, for example. As another example, should theuser suddenly slow down, any adverse actuation may be limited only tothe duration of the assistance provided—that is, the estimatedassistance duration may be slightly longer than the actual joint motionduration, resulting in longer-than-actually-necessary assistance beingprovided for that cycle. Of course, ankle control system 700 mayunderstand that a significant change in stride time has occurred, andadjust duration for the following cycle, thereby limiting any adverseeffects to the current cycle alone.

The ankle control system 700, in various embodiments, may be furtherconfigured to provide negative power assistance to the ankle in additionto the aforementioned positive power assistance. Biomechanically, thereis a distinct negative-power interval and a positive-power interval forthe ankle joint during a gait cycle. FIG. 28A, FIG. 28B, and FIG. 28Cillustrate the pretension and active force regions.

FIG. 29A, FIG. 29B, and FIG. 29C illustrate the relationships betweenjoint motion, commanded cable position, and resulting forces/powers.Ankle control system 700, in various embodiments, may be configured tomaintain cable at pretensioning position such that stance dorsiflexionmotion of the ankle joint causes the soft exosuit to apply a torque inan opposing direction, thereby generating a negative power in the anklejoint during stance dorsiflexion motion. This negative power may serveto pretension the ankle joint as well as cable to enhance theeffectiveness of assistance provided during the subsequent propulsivestance plantarflexion phase. As shown in FIG. 29A, the force deliveredbefore the zero-crossing point will contribute to the negative power forthe ankle joint; and the force applied after the zero-crossing pointwill contribute to the positive ankle power. As shown in FIG. 29D andFIG. 29E, the ankle control system 700 applies the pretension, whichrefers to the force passively generated by the gait kinematics while theankle control system 700 is holding the motor position, before thezero-crossing, and generates the active force, which refers to the forceactively generated by pulling the motor after the zero-crossing. Bycontrolling the peaks of the pretension and the active forceindependently, the ankle control system may independently control thepositive and the negative powers applied to the ankle.

The gait cycle starts off with the heel striking the ground. The heelstrike contact may be detected by a foot switch and/or using the footand/or shank gyros of the ankle control system. As the foot pivots andthe heel lifts off the ground during the push off phase, the two gyroson the foot and the shank are used to measure ankle joint velocity inreal time. As shown in FIG. 29A and FIG. 29E, at phase one in the anklesuit force chart, a relatively slow passive force increases to providenegative power resistance. After the zero crossing, and at phase two, arelatively fast force ramp-up provides positive power assistance, asshown in FIG. 29A and FIG. 29E. Subsequently, no force is providedduring the swing phase. In an embodiment, the ankle control system maymonitor ankle velocity for a second, subsequent zero-crossing after theheel strike as an indicator for when to cease positive power assistance.This second zero-crossing corresponds with a return of the ankle to anormal position during the swing phase after push off.

One of the benefits of using the ankle control system 700 is thedelivery assistance is based on real-time measurements rather than usinginformation about previous steps or defining assistance profiles basedon gait %. The ankle control system adapts to changes in speed anddifferent biomechanics activities in real-time without having to rely onpast information. Additionally the control also applies forces at theappropriate times, rather than applying force that is overdue.

While it is certainly envisioned that the timing and magnitude of ankleassistance could be adjusted in response to detecting an obstacleavoidance motion, it should be recognized that, in various embodiments,such adjustments may not be necessary to avoid inopportune applicationof a restorative force. As previously described, ankle assistance, inaccordance with an embodiment of the present disclosure, may betriggered by detection of a heel strike and continues through subsequentplantar flexion rotation motion. This typically will not occur during anobstacle avoidance motion until the corresponding leg has swung over theobstacle and has touched down on the ground on the far side. As such,the ankle control system, as configured, would not apply assistive forceuntil after the obstacle has been cleared by the corresponding leg andassistive force is again desired to propel the user forward.

Table 4 below illustrates how a controller unit may receive and storeinto memory (e.g., buffer) ankle angular velocity data at apredetermined frequency (e.g., 100 Hz, or any frequency suitable tomonitor joint motion with adequate fidelity for providing tailoredassistance). The controller unit may detect a heel strike from this datausing the “isHeelStrike” module shown and may detect the firstzero-crossing using the “detectZeroCrossing” module shown. If thecurrent ankle angular velocity is greater than zero (i.e., has a signassociated with plantarflexion motion), and the previous angularvelocity is less than that threshold (i.e., has a sign associated withdorsiflexion motion), the “detectZeroCrossing” module returns a truelogic value; otherwise, the module returns a false logic value. Acorresponding true logic value, in an embodiment, may be interpreted asan initiation trigger indicating that stance plantarflexion assistanceshould commence.

Still referring to Table 4, ankle control system 700 may determine asuitable cable position, referred to in Table 4 as ANKLE_OFFSET, atwhich cable may be positioned to generate a desired pretensioning force(or a desired integral negative power, or “INP”) on the ankle duringstance dorsiflexion motion. As shown, a power-based position algorithmmay be used to adjust this pretension cable position by a ratio of thedesired INP over current INP in an effort to deliver a desired integralnegative power to the ankle during dorsiflexion motion. Likewise, anklecontrol system 700 may determine a suitable cable position, referred toin Table 4 as a positionAnkleAmplitude, at which cable may be positionedto generate a desired force (or a desired integral positive power, or“IPP”) on the ankle during stance plantarflexion motion. As shown, apower-based position algorithm may be used to adjust the cable positionfor assisting stance plantarflexion by a ratio of the desired IPP overthe measured IPP in an effort to deliver a desired integral positivepower to the ankle during stance plantarflexion motion.

TABLE 4 1.   // Global variable, TRUE when we are actuating the ankle2.   global activationCurrent = FALSE; 3.   // Global variablerepresenting the position magnitude of previous profile 4.   globaldouble positionAnkleAmplitude = DEFAULT_ANKLE_MAGNITUDE 5. 6.   //Returns true if a Zero Crossing event for the ankle speed is detected7.   // SPEED_THRESHOLD is a predefines ankle speed threshold, could bezero 8.   boolean detectZeroCrossing(angle_speed[buffer]) { 9.    if (angle_speed(end)>SPEED_THRESHOLD && angle_speed(1:end)<SPEED_TRESHOLD )10.     return TRUE 11.    else 12.     return FALSE 13.   } 14. 15.  // Returns true if a heel strike event is detected 16.   booleanisHeelStrike(angle_speed[buffer]) { 17.    // Detection of heel strikefrom foot speed. Not implemented 18.   } 19. 20.   // Returns themaximum value of a buffer 21.   double calculateMaximum(data[buffer]) {22.    double temp_max = 0; 23.    for(i = 0; i<data.length; i++) 24.    temp_max = max(temp_max, data[i]); 25.   } 26. 27.   // update ankleoffset = position pretension to achieve desired pret. Force 28.   voidupdatePretensionPosition(currentINP, desiredINP) { 29.    if (abs(currentINP − desiredINP) < EPS) { 30.      ANKLE_OFFSET =ANKLE_OFFSET * desiredINP/currentINP; 31.    } 32.   } 33. 34.   //Generate a position profile to achieve a desired integralPositivePower35.   double[buffer] generateProfile(stride_time, measured_IPP,desired_IPP){ 36.    //correct position amplitude to get closer todesired_Force 37.    positionAnkleAmplitude = positionAnkleAmplitude *desired_IPP/measured_IPP; 38. 39.    // generate trapezoidal positionprofile of amplitude X and duration stride_time, plateaux high atposAmplitude 40.    positionProfile[buffer] = generateTrapezoid(slope1,slope 2, positionHipAmplitude, stride_time); 41. 42.    returnpositionProfile; 43.   } 44. 45.   // Generate trapezoid of amplitudeposAmplitude, slope 1 and slope 2 slopes, total duration stride time,46.     _posAmplitude_(—) 47.   s1  /        \s2 48.     /         \      49.   START%      END%    % 50. 51.  trapezoidOutput[buffer] generateTrapezoid(slope1, slope2,posAmplitude, stride_time) { 52. 53.    //not implemented as obvious foranyone of ordinary skill 54.    return trapezoidOutput[buffer]; 55.   }56. 57.   // Retrieve foot/shank angles and speeds from IMUs andcalculate angle speed 58.   // Alternatively this function could usegyroscopes 59.   angle[buffer], angle_speed[buffer] calculateAnkleAngle() { 60.    return ( IMU_shank.angle − IMU_foot.angle; IMU_shank.speed −IMU_foot.speed) 61.   } 62. 63.   // This loop is executed at a fixedfrequency, e.g. 100Hz 64.   void loop( ) { 65. 66.    // Add latestangle and force reading to buffer 67.    [angle[buffer],angle_derivative[buffer]] = calculateAnkleAngle( ); 68.    force[buffer]= readAnkleForce( ); 69.    // Update calculated ankle power 70.   ankle_PositivePower[buffer] = ( Force(1)*angle_derivative(1),ankle_PositivePower[1:end−1] ); 71. 72.    // if we reached heel strike,update stride_time based on buffer of previous stride times. Startintegrating negative power 73.    if (isHeelStrike(getFootSpeed( )) {74.     stride_time = updateStrideTime( stride_time[buffer], time.now);75.     integrate_INP = TRUE; 76.     current_INP = 0; 77.    } 78.   //if we detect zero Crossing, actuate ankle and generate assistance 79.  // also start integrating positive power, stop integrating negative80.   if (isZeroCrossing(angle_derivative[buffer])) { 81.   activationCurrent = TRUE; 82.    integrate_INP = FALSE; 83.   counter = 0; 84.    previous_IPP = Current_IPP; 85.    current_IPP =0; 86.    // update level of pretension force 87.   current_pretensionForce = Force(1); 88.   updatePositionPretension(current_INP,desired_INP); 89. 90.   //generate position profile with adapted amplitude to reach IPP 91.   position_profile = generateProfile(stride_time, previous_IPP,desired_IPP); 92.   } 93. 94.   // integrate INP if between heel strikeand zero crossing 95.   if ( integrate_INP == TRUE) 96.    current_INP =current_INP + ankle_power(1); 97. 98.   // keep integrating positivepower until ankle speed is negative again 99.   // note the negativeangle to reverse the detection 100.   if (activationCurrent == TRUE &&isZeroCrossing(−angle_derivative[buffer]){ 101.    current_IPP =current_IPP + ankle_power(1); 102.   } 103. 104.   // in this section,we just follow the precaculated position profile 105.    if(activationCurrent == TRUE && counter < position_profile.length) { 106.    commandAnkleMotor(position_profile(counter)); 107.     counter =counter + 1; 108.   }

Recall that, as previously described, hip flexor muscles such as thequadriceps may also be most active during the ankle stanceplantarflexion push-off motion. As such, ankle control system 700 may bemodified for use in controlling various embodiments of the exosuit inproviding hip flexion assistance to help propel the user forward. Anklecontrol system 700 may be also be used to simultaneously control theprovision of flexion assistance to a corresponding hip joint inconnection with embodiments of exosuits configured to transfer actuationloads between the ankle and the hip, such those shown in FIG. 12D andFIG. 12E.

In various embodiments, a separate controller may be used for each legof the user. That is, controller L may be primarily responsible formonitoring and providing assistive motion to one or more joints of theleft leg, and a separate controller R may be primarily responsible forthat of the right leg. These controllers may act completely independentof one another, or may communicate with one another to any suitableextent. In an embodiment, controllers L and R may pass along loadsinformation from their respective loads cells, for example, such thatthe system may compare the two and adjust, if desired, the assistiveforces applied to each leg to balance one another. In an embodiment,substantially more information may be exchanged; in particular, if thereis an asymmetry in functionality of the legs (or joints thereof) thatmay affect the assistance to be provided to the opposing leg. Of course,a single controller may process all controls as well.

Example Embodiments for Hip and Ankle Control Systems and Methods

In some embodiments of the present disclosure, there is provided amethod of assisting motion of a hip joint, comprising determining adesired peak force to be generated by a wearable robotic system during acurrent gait cycle of a user, generating an actuation profile accordingto which the wearable robotic system is actuated to generate the desiredpeak force, monitoring real-time measurements of an angle of the hipjoint to detect when the hip joint reaches a maximum flexion angle, andin response to detecting that the angle of the hip joint has reached themaximum flexion angle, actuating the wearable robotic system accordingto the actuation profile to assist with an extension motion of the hipjoint of the user. In some embodiments, the desired peak force is apredetermined baseline force. In some embodiments, the actuation profiledefines a position of an actuator of the wearable robotic system that isconfigured to generate a corresponding force in the wearable roboticsystem at a given point in the current gait cycle of the user. In someembodiments, the actuation profile is substantially trapezoidal in shapeso as to provide a substantially triangular force profile having a peakdefined by the desired peak force. In some embodiments, the actuationassists an extension motion of the body joint. In some embodimentswherein the actuation profile is substantially trapezoidal in shape soas to provide a substantially triangular force profile having a peakdefined by the desired peak force.

In some embodiments, the determining the desired peak force furthercomprises estimating a speed at which the user is moving based at leastin part on measurements of a range of motion of the hip joint and alength of a corresponding leg of the user, and adjusting thepredetermined force by a predetermined correction factor associated withthe estimated speed at which the user is moving. In some embodiments,estimating the speed at which the user is moving further comprisesdetermining the range of motion of the hip joint of the user frommeasurements of at least one of the angle or rotational velocity of thehip joint, estimating a step length of the user based on the range ofmotion and the leg length of the user, monitoring measurements of theangle of the hip joint to determine a step time of the user, andcalculating the estimated speed at which the user is moving by dividingthe step length by the step time. In some embodiments, the predeterminedcorrection factor is associated with varying physiological momentsacting on the hip joint at various speeds.

In some embodiments, generating the actuation profile further comprisesmeasuring a peak force generated by the wearable robotic system duringat least one preceding gait cycle of the user, comparing the measuredpeak force generated during the at least one preceding gait cycle to adesired peak force to be generated during the at least one precedinggait cycle, and adjusting an amplitude of the actuation profile toaccount for the difference between the measured peak force and thedesired peak force generated during the at least one preceding gaitcycle. In some embodiments, the position of the actuator increases froma first position to a second position, the second position beingconfigured to generate the desired peak force in the wearable roboticsystem. In some embodiments, the increase in actuator position occursupon a detection of a trigger event based at least in part on real-timemeasurements of joint motion. In some embodiments, the second positionis maintained for a majority of the actuation profile. In someembodiments, the position of the actuator subsequently decreases fromthe second position.

In some embodiments, the method further comprises terminating theactuation of the wearable robotic system when the measured angle of thebody joint reaches a predetermined angle, wherein the predeterminedangle is an angle of the joint corresponding with when a leg of the useris oriented substantially perpendicular to the ground during the currentgait cycle. In some embodiments, the method further comprisesestimating, based on a stride time of a preceding gait cycle, a periodof time that will pass between a start of the actuation and apredetermined percentage of the gait cycle, and terminating theactuation at the end of the period of time, wherein the predeterminedpercentage is about 40% of the stride time.

In some embodiments, the method further comprises determining an averagemaximum flexion angle of the hip joint throughout a plurality ofprevious gait cycles, detecting that the angle of the hip joint duringthe current gait cycle has exceeded, by a predetermined threshold, theaverage maximum flexion angle throughout the plurality of previous gaitcycles, and delaying the start of the actuating until after the angle ofthe hip joint during the current gait cycle returns below the averagemaximum flexion angle throughout the previous gait cycles.

In some embodiments of the present disclosure, there is provided awearable robotic system for motion assistance to a hip joint of a usercomprising at least one sensor adapted to monitor real-time measurementsof an angle of the hip joint to detect when the hip joint reaches amaximum flexion angle, and at least one processor that is adapted toobtains computer executable instructions stored on a non-transitorymedium that when executed by the at least one processor causes thewearable robotic system to determine a desired peak force to begenerated by the wearable robotic system during a current gait cycle ofthe user, create an actuation profile according to which the wearablerobotic system is actuated to generate the desired peak force, detectwhen the angle of the hip joint has reached the maximum flexion angle,and actuate the wearable robotic system according to the actuationprofile to assist with an extension motion of the hip joint of the userin response to detecting the hip joint reached the maximum flexionangle. In some embodiments, the desired peak force is a predeterminedbaseline force. In some embodiments, the actuation assists an extensionmotion of the body joint. In some embodiments, the computer executableinstructions, when executed by the at least one processor, causes thewearable robotic system to determine an average maximum flexion angle ofthe hip joint throughout a plurality of previous gait cycles, to detectthat the angle of the hip joint during the current gait cycle hasexceeded, by a predetermined threshold, the average maximum flexionangle throughout the plurality of previous gait cycles, and to delay thestart of the actuating until after the angle of the hip joint during thecurrent gait cycle returns below the average maximum flexion anglethroughout the previous gait cycles.

In some embodiments the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system todetermine the desired peak force by performing at least the following:estimate a speed at which the user is moving based at least in part onmeasurements of a range of motion of the hip joint and a length of acorresponding leg of the user, and adjust the predetermined force by apredetermined correction factor associated with the estimated speed atwhich the user is moving. In some embodiments, the computer executableinstructions, when executed by the at least one processor, causes thewearable robotic system to estimate the speed at which the user byperforming at least the following: determine the range of motion of thehip joint of the user from measurements of at least one of the angle orrotational velocity of the hip joint, estimate a step length of the userbased on the range of motion and the leg length of the user, monitormeasurements of the angle of the hip joint to determine a step time ofthe user, and calculate the estimated speed at which the user is movingby dividing the step length by the step time. In some embodiments, thepredetermined correction factor is associated with varying physiologicalmoments acting on the hip joint at various speeds.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system togenerate the actuation profile by performing at least the following:measuring a peak force generated by the wearable robotic system duringat least one preceding gait cycle of the user with at least one secondsensor, comparing the measured peak force generated during the at leastone preceding gait cycle to a desired peak force to be generated duringthe at least one preceding gait cycle, and adjusting an amplitude of theactuation profile to account for the difference between the measuredpeak force and the desired peak force generated during the at least onepreceding gait cycle. In some embodiments, the position of the actuatorincreases from a first position to a second position, and wherein thesecond position of the actuator generates the desired peak force in thewearable robotic system. In some embodiments, the increase in actuatorposition occurs upon a detection of a trigger event based at least inpart on real-time measurements of joint motion. In some embodiments, thesecond position is maintained for a majority of the actuation profile.In some embodiments, the position of the actuator subsequently decreasesfrom the second position.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system toterminate the actuation of the wearable robotic system when the measuredangle of the body joint reaches a predetermined angle. In someembodiments, the predetermined angle is an angle of the jointcorresponding with when a leg of the user is oriented substantiallyperpendicular to the ground during the current gait cycle.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system to:estimate, based on a stride time of a preceding gait cycle, a period oftime that will pass between a start of the actuation and a predeterminedpercentage of the gait cycle, and terminate the actuation at the end ofthe period of time. In some embodiments, the predetermined percentage isabout 40% of the stride time.

In some embodiments, the system further comprises an actuator which isconfigured to generate a corresponding force in the wearable roboticsystem at a given point in the current gait cycle of the user, whereinthe actuation profile defines a position of the actuator. In someembodiments, the actuation profile is substantially trapezoidal in shapeto provide a substantially triangular force profile having a peakdefined by the desired peak force

In some embodiments, there is disclosed a method of assisting motion ofan ankle joint, comprising determining a desired peak force to begenerated by a wearable robotic system during a current gait cycle of auser, generating an actuation profile according to which the wearablerobotic system may be actuated to deliver the desired peak force to thebody of the user, detecting a heel strike of the user, monitoringreal-time measurements of a rotational velocity of the ankle of the userto detect a first change in direction of the measured rotationalvelocity of the ankle joint after the detection of the heel strike, andin response to detecting the first change in direction of the measuredrotational velocity of the ankle joint, actuating the wearable roboticsystem according to the actuation profile to assist with anplantarflexion motion of the ankle joint of the user. In someembodiments, the desired peak force is a predetermined baseline force.In some embodiments, the actuation profile defines a position of anactuator of the wearable robotic system that is configured to generate acorresponding force in the wearable robotic system at a given point inthe current gait cycle of the user. In some embodiments, a resultingtorque generated about the ankle joint by the actuation of the wearablerobotics system acts in concert with the motion of the ankle joint so asto apply a positive power to the ankle joint to assist withplantarflexion motion of the ankle joint. In some embodiments, theresulting torque helps to propel the user forward.

In some embodiments, determining the desired peak force furthercomprises estimating a speed at which the user is moving based at leastin part on measurements of a range of motion of the hip joint and alength of a corresponding leg of the user, and adjusting thepredetermined force by a predetermined correction factor associated withthe estimated speed at which the user is moving. In some embodiments,the predetermined correction factor is associated with varyingphysiological moments acting on the ankle joint at various speeds. Insome embodiments, estimating the speed at which the user is movingfurther comprises determining the range of motion of the hip joint ofthe user from measurements of at least one of the angle or rotationalvelocity of the hip joint, estimating a step length of the user based onthe range of motion and the leg length of the user, monitoringmeasurements of the angle of the hip joint to determine a step time ofthe user, and calculating the estimated speed at which the user ismoving by dividing the step length by the step time.

In some embodiments, generating the actuation profile further comprisesmeasuring a peak force generated by the wearable robotic system duringat least one preceding gait cycle of the user, comparing the measuredpeak force generated during the at least one preceding gait cycle to adesired peak force to be generated during the at least one precedinggait cycle, and adjusting an amplitude of the actuation profile toaccount for the difference between the measured peak force and thedesired peak force generated during the at least one preceding gaitcycle. In some embodiments, the first position of the actuator isconfigured such that the wearable robotic system exerts a proportionallyincreasing force on the ankle joint during at least portion of motion ofthe ankle joint occurring between the heel strike and the first changein direction of the measured rotational velocity of the ankle joint. Insome embodiments, the exerted force results in a torque that opposes themotion of the ankle joint so as to apply a negative power to the anklejoint during the corresponding motion. In some embodiments, wherein theresulting torque serves to pretension the ankle joint duringcorresponding stance dorsiflexion motion.

In some embodiments, the position of the actuator increases from a firstposition to a second position, the second position being configured togenerate the desired peak force in the wearable robotic system. In someembodiments, the increase in actuator position occurs upon a detectionof a trigger event based at least in part on real-time measurements ofjoint motion. In some embodiments the second position is maintained fora majority of the actuation profile. In some embodiments the secondposition is maintained in the actuation profile for durationcorresponding with an estimated duration of the joint motion to beassisted during the current gait cycle. In some embodiments, theposition of the actuator subsequently decreases from the secondposition. In some embodiments, the estimated duration of the jointmotion to be assisted during the current gait cycle is based at least inpart on measurements of the rotational velocity of the joint during thepreceding gait cycle.

In some embodiments, the method further comprises terminating theactuation of the wearable robotic system when the measured rotationalvelocity of the ankle joint subsequently reaches a predeterminedvelocity. In some embodiments the predetermined velocity is about zero.

In some embodiments, the method further comprises estimating, based on astride time of a preceding gait cycle, a period of time that will passbetween a start of the actuation and a predetermined percentage of thegait cycle, and terminating the actuation at the end of the period oftime.

In some embodiments, determining the desired peak force furthercomprises measuring a force generated by the wearable robotic systemduring the at least one preceding gait cycle of the user, monitoringreal-time measurements of a rotational velocity of the ankle of the userto detect a second change in direction of the measured rotationalvelocity of the ankle joint after the first change in direction of themeasured rotational velocity of the ankle joint, computing an integralpositive power generated by the wearable robotic system during theperiod of time from the detected first change in direction of themeasured rotational velocity of the ankle joint to the detected secondchange in direction of the measured rotational velocity of the anklejoint, wherein the integral positive power is determined by multiplyingthe measured force with a corresponding measured rotational velocity ofthe ankle joint, comparing the measured integral positive power duringthe at least one preceding gait cycle to a desired integral positivepower to be generated during the at least one preceding gait cycle, andadjusting the predetermined amplitude of the actuation profile toaccount for the difference between the measured integral positive powerand the desired integral positive power generated during the at leastone preceding gait cycle.

In some embodiments, determining the desired peak force furthercomprises measuring a pretension force generated by the wearable roboticsystem during the at least one preceding gait cycle of the user,computing an integral negative power generated by the wearable roboticsystem during the period of time from the detection of the heel striketo the detected first change in direction of the measured rotationalvelocity of the ankle joint by multiplying the measured pretension forcewith the measured rotational velocity of the ankle joint, comparing themeasured integral negative power during the at least one preceding gaitcycle to a desired integral negative power to be generated during the atleast one preceding gait cycle, and adjusting the predeterminedamplitude of the actuation profile to account for the difference betweenthe measured integral negative power and the desired integral negativepower generated during the at least one preceding gait cycle.

In some embodiments of the present disclosure, there is provided awearable robotic system for motion assistance to an ankle joint of auser comprising at least one sensor adapted to monitor real-timemeasurements of a rotational velocity of the ankle of the user to detecta first change in direction of the measured rotational velocity of theankle joint after the detection of a heel strike; and at least oneprocessor that is adapted to obtains computer executable instructionsstored on a non-transitory medium that when executed by the at least oneprocessor causes the wearable robotic system to: determine a desiredpeak force to be generated by the wearable robotic system during acurrent gait cycle of the user; generate an actuation profile accordingto which the wearable robotic system may be actuated to deliver thedesired peak force to the body of the user; detect the heel strike ofthe user; detect the first change in direction of the measuredrotational velocity of the ankle joint; and actuate the wearable roboticsystem according to the actuation profile to assist with anplantarflexion motion of the ankle joint of the user in response todetecting the first change in direction of the measured rotationalvelocity of the ankle joint.

In some embodiments, the desired peak force is a predetermined baselineforce.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system todetermine the desired peak force by performing at least the following:estimate a speed at which the user is moving based at least in part onmeasurements of a range of motion of the hip joint and a length of acorresponding leg of the user; and adjust the predetermined force by apredetermined correction factor associated with the estimated speed atwhich the user is moving.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system toestimate the speed at which the user by performing at least thefollowing: determine the range of motion of the hip joint of the userfrom measurements of at least one of the angle or rotational velocity ofthe hip joint; estimate a step length of the user based on the range ofmotion and the leg length of the user; monitor measurements of the angleof the hip joint to determine a step time of the user; and calculate theestimated speed at which the user is moving by dividing the step lengthby the step time.

In some embodiments, the predetermined correction factor is associatedwith varying physiological moments acting on the ankle joint at variousspeeds.

In some embodiments, the system further comprises an actuator isconfigured to generate a corresponding force in the wearable roboticsystem at a given point in the current gait cycle of the user, whereinthe actuation profile defines a position of the actuator.

In some embodiments, wherein the computer executable instructions, whenexecuted by the at least one processor, causes the wearable roboticsystem to generate the actuation profile by performing at least thefollowing: measure a peak force generated by the wearable robotic systemduring at least one preceding gait cycle of the user; compare themeasured peak force generated during the at least one preceding gaitcycle to a desired peak force to be generated during the at least onepreceding gait cycle; and adjust an amplitude of the actuation profileto account for the difference between the measured peak force and thedesired peak force generated during the at least one preceding gaitcycle.

In some embodiments, the position of the actuator increases from a firstposition to a second position, the second position being configured togenerate the desired peak force in the wearable robotic system.

In some embodiments, the increase in actuator position occurs upon adetection of a trigger event based at least in part on real-timemeasurements of joint motion.

In some embodiments, the second position is maintained for a majority ofthe actuation profile. In some embodiments, the second position ismaintained in the actuation profile for duration corresponding with anestimated duration of the joint motion to be assisted during the currentgait cycle.

In some embodiments, the estimated duration of the joint motion to beassisted during the current gait cycle is based at least in part onmeasurements of the rotational velocity of the joint during thepreceding gait cycle.

In some embodiments, the position of the actuator subsequently decreasesfrom the second position.

In some embodiments, the actuation profile is substantially trapezoidalin shape so as to provide a substantially triangular force profilehaving a peak defined by the desired peak force.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system toterminate the actuation of the wearable robotic system when the measuredrotational velocity of the ankle joint subsequently reaches apredetermined velocity. In some embodiments, the predetermined velocityis about zero.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system to:estimate, based on a stride time of a preceding gait cycle, a period oftime that will pass between a start of the actuation and a predeterminedpercentage of the gait cycle; and terminate the actuation at the end ofthe period of time.

In some embodiments, a resulting torque generated about the ankle jointby the actuation of the wearable robotics system acts in concert withthe motion of the ankle joint so as to apply a positive power to theankle joint to assist with plantarflexion motion of the ankle joint. Insome embodiments, the resulting torque helps to propel the user forward.

In some embodiments, the first position of the actuator is configuredsuch that the wearable robotic system exerts a proportionally increasingforce on the ankle joint during at least portion of motion of the anklejoint occurring between the heel strike and the first change indirection of the measured rotational velocity of the ankle joint. Insome embodiments, the exerted force results in a torque that opposes themotion of the ankle joint so as to apply a negative power to the anklejoint during the corresponding motion. In some embodiments, theresulting torque serves to pretension the ankle joint duringcorresponding stance dorsiflexion motion.

In some embodiments, the computer executable instructions, when executedby the at least one processor, causes the wearable robotic system togenerate the actuation profile by performing at least the following:measure a force generated by the wearable robotic system during the atleast one preceding gait cycle of the user; compute an integral positivepower generated by the wearable robotic system during the period of timefrom the detected first change in direction of the measured rotationalvelocity of the ankle joint to a detected second change in direction ofthe measured rotational velocity of the ankle joint by multiplying themeasured force with the measured rotational velocity of the ankle joint;compare the measured integral positive power during the at least onepreceding gait cycle to a desired integral positive power to begenerated during the at least one preceding gait cycle; and adjust thepredetermined amplitude of the actuation profile to account for thedifference between the measured integral positive power and the desiredintegral positive power generated during the at least one preceding gaitcycle.

System Hardware and Architecture

Embodiments of exosuit system 100, and control systems 500, 600 and 700,may be implemented using suitable hardware and architecture. Withreference to FIG. 15, exosuit system 100 may include a controller unitthat may correspond to or may be part of the drive module,actuator/control unit, one or a combination of embodiments of controlsystems 500, 600, 700 and/or any other control device used for anexosuit. The controller unit includes a processor, which may be also bereferenced as a central processor unit (CPU), such as the DiamondSystems Aurora single board computer. The processor may communicate(e.g., via a system bus) and/or provide instructions to other componentswithin the controller unit, such as the input interface, outputinterface, and/or memory. In an embodiment, the processor may includeone or more multi-core processors and/or memory (e.g., cache memory)that function as buffers and/or storage for data. In other words,processor may be part of one or more other processing components, suchas application specific integrated circuits (ASICs), field-programmablegate arrays (FPGAs), and/or digital signal processors (DSPs). AlthoughFIG. 26 illustrates that processor may be a single processor, processoris not so limited and instead may represent a plurality of processors.The processor may be configured to implement any of the methodsdescribed herein.

Memory may be operatively coupled to processor. Memory may be anon-transitory computer readable medium configured to store varioustypes of sensory data and/or the force-based position control algorithm.For example, memory may include one or more memory devices that comprisesecondary storage, read-only memory (ROM), random-access memory (RAM),and/or other types of memory storage. The secondary storage is typicallycomprised of one or more disk drives, optical drives, solid-state drives(SSDs), and/or tape drives and is used for non-volatile storage of data.In certain instances, the secondary storage may be used to storeoverflow data if the allocated RAM is not large enough to hold allworking data. The secondary storage may also be used to store programsthat are loaded into the RAM when such programs are selected forexecution. The ROM is used to store instructions and perhaps data thatare read during program execution. The ROM is a non-volatile memorydevice that typically has a small memory capacity relative to the largermemory capacity of the secondary storage. The RAM is used to storevolatile data and perhaps to store computer executable instructions,such as the force-based position control algorithm.

The memory may be used to house the instructions for carrying outvarious embodiments described herein. In an embodiment, the memory maycomprise an actuator control module that may be accessed and implementedby processor. Alternatively, the actuator control module may be storedand accessed within memory embedded in processor (e.g., cache memory).Specifically, the actuator control module may regulate and control theforce generated in the soft exosuit by controlling the length a cableand/or regulate and the control the power delivered to the ankle and/orother types of joints. In an embodiment, memory interfaces with acomputer bus so as to communicate and/or transmit information stored inmemory to processor during execution of software programs, such assoftware modules that comprise program code, and/or computer executableprocess steps, incorporating functionality described herein, e.g., theactuator control module. Processor first loads computer executableprocess steps from storage, e.g., memory, storage medium/media,removable media drive, and/or other storage device. Processor can thenexecute the stored process steps in order to execute the loaded computerexecutable process steps. Stored data, e.g., data stored by a storagedevice, can be accessed by processor during the execution of computerexecutable process steps to instruct one or more components within thecontroller unit and/or outside the controller unit, such as motors andmechanical components associated with an exosuit.

Programming and/or loading executable instructions onto memory andprocessor in order to transform the exosuit system into a non-generic,particular machine or apparatus that controls and drives one or moremotors in an exosuit is well-known in the art. Implementinginstructions, real-time monitoring, and other functions by loadingexecutable software into a computer and/or processor can be converted toa hardware implementation by well-known design rules and/or transform ageneral-purpose processor to a processor programmed for a specificapplication. For example, decisions between implementing a concept insoftware versus hardware may depend on a number of design choices thatinclude stability of the design and numbers of units to be produced andissues involved in translating from the software domain to the hardwaredomain. Often a design may be developed and tested in a software formand subsequently transformed, by well-known design rules, to anequivalent hardware implementation in an ASIC or application specifichardware that hardwires the instructions of the software. In the samemanner as a machine controlled by a new ASIC is a particular machine orapparatus, likewise a computer that has been programmed and/or loadedwith executable instructions may be viewed as a non-generic particularmachine or apparatus.

The processor may be operatively coupled to an input interfaceconfigured to receive sensory data. The input interface may beconfigured to obtain biomechanics data, such as thigh angle, thighrotational velocity, ankle rotation velocity and heel strikes, viaelectrical, optical, and/or wireless connections. The output interfacemay be an interface may communicate instructions used to drive a varietyof electro-mechanical and/or mechanical device, such as motors for anexosuit.

At least one embodiment is disclosed and variations, combinations,and/or modifications of the embodiment(s) and/or features of theembodiment(s) made by a person having ordinary skill in the art arewithin the scope of the disclosure. Alternative embodiments that resultfrom combining, integrating, and/or omitting features of theembodiment(s) are also within the scope of the disclosure. Wherenumerical ranges or limitations are expressly stated, such expressranges or limitations may be understood to include iterative ranges orlimitations of like magnitude falling within the expressly stated rangesor limitations (e.g., from about 1 to about 10 includes, 2, 3, 4, etc.;greater than 0.10 includes 0.11, 0.12, 0.13, etc.). The use of the term“about” and “substantially” means±10% of the subsequent number, unlessotherwise stated.

Use of the term “optionally” with respect to any element of a claimmeans that the element is required, or alternatively, the element is notrequired, both alternatives being within the scope of the claim. Use ofbroader terms such as comprises, includes, and having may be understoodto provide support for narrower terms such as consisting of, consistingessentially of, and comprised substantially of. Accordingly, the scopeof protection is not limited by the description set out above but isdefined by the claims that follow, that scope including all equivalentsof the subject matter of the claims. Each and every claim isincorporated as further disclosure into the specification and the claimsare embodiment(s) of the present disclosure.

While several embodiments have been provided in the present disclosure,it should be understood that the disclosed systems and methods might beembodied in many other specific forms without departing from the spiritor scope of the present disclosure. The present examples are to beconsidered as illustrative and not restrictive, and the intention is notto be limited to the details given herein. For example, the variouselements or components may be combined or integrated in another systemor certain features may be omitted, or not implemented.

In addition, techniques, systems, subsystems, and methods described andillustrated in the various embodiments as discrete or separate may becombined or integrated with other systems, modules, techniques, ormethods without departing from the scope of the present disclosure.Other items shown or discussed as coupled or directly coupled orcommunicating with each other may be indirectly coupled or communicatingthrough some interface, device, or intermediate component whetherelectrically, mechanically, or otherwise. Other examples of changes,substitutions, and alterations are ascertainable by one skilled in theart and could be made without departing from the spirit and scopedisclosed herein.

Of course, the above referenced control systems may be usedindependently or in concert with one another to deliver a combination ofassistive torque to a user's hip and/or ankle using any suitableembodiment of the soft exosuit described above.

In various embodiments, a separate controller may be used for each legof the user. That is, controller L may be primarily responsible formonitoring and providing assistive motion to one or more joints of theleft leg, and a separate controller R may be primarily responsible forthat of the right leg. These controllers may act completely independentof one another, or may communicate with one another to any suitableextent. In an embodiment, controllers L and R may pass along loadsinformation from their respective loads cells, for example, such thatthe system may compare the two and adjust, if desired, the assistiveforces applied to each leg to balance one another. In an embodiment,substantially more information may be exchanged; in particular, if thereis an asymmetry in functionality of the legs (or joints thereof) thatmay affect the assistance to be provided to the opposing leg. Of course,a single controller may process all controls as well.

All patents, patent applications, and published references cited hereinare hereby incorporated by reference in their entirety. It should beemphasized that the above-described embodiments of the presentdisclosure are merely possible examples of implementations, merely setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. It will be appreciated that several of theabove-disclosed and other features and functions, or alternativesthereof, may be desirably combined into many other different systems orapplications. All such modifications and variations are intended to beincluded herein within the scope of this disclosure, as fall within thescope of the appended claims.

What is claimed is:
 1. A method of assisting motion of a joint,comprising: determining a desired peak force and/or power to begenerated by a wearable robotic system during a current motion cycle ofa user; monitoring real-time measurements of the motion of the joint ofthe user to detect a change in direction of the motion of the joint;generating an actuation profile according to which the wearable roboticsystem is actuated to deliver the desired peak force and/or power to abody of the user, wherein the actuation profile is generated based atleast in part on: the desired peak force and/or power; and an adjustmentrelated to a difference between a measured peak force and/or power andthe desired peak force and/or power during at least one preceding motioncycle of the user; and in response to detecting the change in directionof the motion of the joint, actuating the wearable robotic systemaccording to the actuation profile to assist with the motion of thejoint of the user.
 2. The method of claim 1, wherein monitoringreal-time measurements of the motion of the joint includes monitoringreal-time measurements of at least one selected from the group of anangle of the joint and a rotational velocity of the joint.
 3. The methodof claim 1, wherein the joint is an ankle of the user.
 4. The method ofclaim 3, wherein the motion to be assisted is ankle plantarflexion. 5.The method of claim 3, wherein the motion to be assisted is ankledorsiflexion.
 6. The method of claim 1, wherein the joint is a hip ofthe user.
 7. The method of claim 6, wherein the change in direction ofthe joint is from maximum hip flexion to hip extension, and wherein themotion to be assisted is hip extension.
 8. The method of claim 6,wherein the change in direction of the joint is from maximum hipextension to hip flexion, and wherein the motion to be assisted is hipflexion.
 9. The method of claim 1, wherein determining the desired peakforce and/or power includes estimating a speed at which the user ismoving and adjusting the desired peak force and/or power based at leastpartly on the estimated speed at which the user is moving.
 10. Themethod of claim 1, further comprising terminating the actuation of thewearable robotic system when the measured motion of the jointsubsequently reaches a predetermined angle and/or rotational velocity.11. A wearable robotic system for assisting motion of a joint of a user,the system comprising: at least one sensor adapted to monitor real-timemeasurements of the motion of the joint; at least one processorconfigured to: determine a desired peak force and/or integral power tobe generated by the wearable robotic system during a current motioncycle of the user; generate an actuation profile according to which thewearable robotic system may be actuated to deliver the desired peakforce and/or power to a body of the user, and wherein the processor isconfigured to generate the actuation profile base at least in part on:the desired peak force and/or power; and an adjustment related to adifference between a measured peak force and/or power and the desiredpeak force and/or power during at least one preceding motion cycle ofthe user; detect a change in direction of the motion of the joint; andactuate the wearable robotic system according to the actuation profileto assist with the motion of the joint of the user in response todetecting the change in direction of the motion of the joint.
 12. Thewearable robotic system of claim 11, wherein the sensor is configured tomonitor real-time measurements of at least one selected from the groupof an angle of the joint and a rotational velocity of the joint.
 13. Thewearable robotic system of claim 11, wherein the joint is an ankle ofthe user.
 14. The wearable robotic system of claim 13, wherein themotion to be assisted is ankle plantarflexion.
 15. The wearable roboticsystem of claim 13, wherein the motion to be assisted is ankledorsiflexion.
 16. The wearable robotic system of claim 11, wherein thejoint is a hip of the user.
 17. The wearable robotic system of claim 16,wherein the change in direction of the joint is from hip flexion toextension, and wherein the motion to be assisted is hip extension. 18.The wearable robotic system of claim 16, wherein the change in directionof the joint is from hip extension to flexion, and wherein the motion tobe assisted is hip flexion.
 19. The wearable robotic system of claim 11,wherein the processor is configured to estimate a speed at which theuser is moving and adjust the desired peak force and/or power based atleast partly on the estimated speed at which the user is moving.
 20. Thewearable robotic system of claim 11, wherein the processor is configuredto terminate actuation of the wearable robotic system when a measuredmotion of the joint reaches a predetermined angle and/or rotationalvelocity.
 21. The method of claim 1, wherein the joint is a leg joint ofthe user and the motion cycle is a gait cycle of the user.
 22. A methodof assisting motion of a joint, comprising: determining a desired peakforce and/or power to be generated by a wearable robotic system during acurrent motion cycle of a user; monitoring real-time measurements of themotion of the joint of the user to detect a change in direction of themotion of the joint; generating an actuation profile according to whichthe wearable robotic system is actuated to deliver the desired peakforce and/or power to a body of the user, wherein the actuation profileis generated based at least in part on: the desired peak force and/orpower; and an adjustment related to a difference between a measured peakforce and/or power and the desired peak force and/or power during atleast one preceding motion cycle of the user; and in response todetecting the change in direction of the motion of the joint, adjustingthe actuation profile to assist with the motion of the joint of theuser.
 23. The method of claim 22, wherein monitoring real-timemeasurements of the motion of the joint includes monitoring real-timemeasurements of at least one selected from the group of an angle of thejoint and a rotational velocity of the joint.
 24. The method of claim22, wherein the joint is an ankle of the user.
 25. The method of claim24, wherein the motion to be assisted is ankle plantarflexion.
 26. Themethod of claim 24, wherein the motion to be assisted is ankledorsiflexion.
 27. The method of claim 22, wherein the joint is a hip ofthe user.
 28. The method of claim 27, wherein the change in direction ofthe joint is from maximum hip flexion to hip extension, and wherein themotion to be assisted is hip extension.
 29. The method of claim 27,wherein the change in direction of the joint is from maximum hipextension to hip flexion, and wherein the motion to be assisted is hipflexion.
 30. The method of claim 22, wherein determining the desiredpeak force and/or power includes estimating a speed at which the user ismoving and adjusting the desired peak force and/or power based at leastpartly on the estimated speed at which the user is moving.
 31. Themethod of claim 22, further comprising terminating the actuation of thewearable robotic system when the measured motion of the jointsubsequently reaches a predetermined angle and/or rotational velocity.32. The method of claim 22, wherein the joint is a leg joint of the userand the motion cycle is a gait cycle of the user.